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:
Ruan Pablo 2019-09-27 15:46:23 -03:00
parent 9f7c6ccd68
commit aedec48f93
156 changed files with 1100 additions and 336 deletions

View File

@ -1121,6 +1121,18 @@
WildHasEscaped = False WildHasEscaped = False
Exit Sub Exit Sub
End If 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. 'Transform Aegislash with Stance Change ability.
If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then
If p.AdditionalData = "" Then If p.AdditionalData = "" Then
@ -1169,7 +1181,7 @@
If p.Status = Pokemon.StatusProblems.Freeze Then If p.Status = Pokemon.StatusProblems.Freeze Then
If Core.Random.Next(0, 100) < 20 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 Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False)) BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!")) BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!"))
@ -1221,7 +1233,7 @@
truantTurn = BattleScreen.FieldEffects.OppTruantRound truantTurn = BattleScreen.FieldEffects.OppTruantRound
End If End If
If truantTurn = 1 Then 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 Exit Sub
End If End If
End If End If
@ -1297,7 +1309,7 @@
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion) p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
Else Else
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is confused!")) 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 If Core.Random.Next(0, 3) = 0 Then
Dim a As Attack = New ConfusionAttack() Dim a As Attack = New ConfusionAttack()
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen) Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
@ -1603,7 +1615,7 @@
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False moveWorks = False
If oppHealblock > 0 Then 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 Else
If op.HP = op.MaxHP Then If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Volt Absorb made " & moveUsed.Name & " useless!")) 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 If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False moveWorks = False
If oppHealblock > 0 Then 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 Else
If op.HP = op.MaxHP Then If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Water Absorb made " & moveUsed.Name & " useless!")) 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 If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False moveWorks = False
If oppHealblock > 0 Then 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 Else
If op.HP = op.MaxHP Then If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Dry Skin made " & moveUsed.Name & " useless!")) 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " prevents damage with its Bulletproof ability!"))
End If 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 moveWorks = True Then
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter
@ -1793,7 +1812,7 @@
Dim moveList As String() = {"endeavor", Dim moveList As String() = {"endeavor",
"fling", "fling",
"explosion", "explosion",
"selfdestruct", "self-destruct",
"final gambit", "final gambit",
"bounce", "bounce",
"dig", "dig",
@ -2007,7 +2026,7 @@
Dim PBmoveList As String() = {"secret power", Dim PBmoveList As String() = {"secret power",
"bug bite", "bug bite",
"pluck", "pluck",
"smelling salt", "smelling salts",
"wake-up slap", "wake-up slap",
"knock off", "knock off",
"relic song", "relic song",
@ -2151,6 +2170,10 @@
If moveUsed.MakesContact = True Then If moveUsed.MakesContact = True Then
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey") LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey")
End If 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" Case "weak armor"
If moveUsed.Category = Attack.Categories.Physical Then If moveUsed.Category = Attack.Categories.Physical Then
RaiseStat(Not own, Not own, BattleScreen, "Speed", 2, "Weak Armor causes the Speed to increase!", "weakarmor") 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 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 Select
End If End If
End If End If
@ -2485,6 +2524,16 @@
Return False Return False
End If 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 If p.HasVolatileStatus(Pokemon.VolatileStatus.Flinch) = True Then
Return False Return False
End If End If
@ -2541,6 +2590,11 @@
Return False Return False
End If 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 Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2637,6 +2691,11 @@
Return False Return False
End If 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 Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2749,6 +2808,11 @@
Return False Return False
End If 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 Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2831,6 +2895,16 @@
Return False Return False
End If 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 Dim SleepTurns As Integer = turnsPreset
If SleepTurns < 0 Then If SleepTurns < 0 Then
SleepTurns = Core.Random.Next(1, 4) SleepTurns = Core.Random.Next(1, 4)
@ -2973,6 +3047,11 @@
Return False Return False
End If 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 Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute substitute = BattleScreen.FieldEffects.OppSubstitute
@ -3083,6 +3162,11 @@
Return False Return False
End If 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 confusionTurns As Integer = Core.Random.Next(1, 5)
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then If own = False Then
@ -4050,9 +4134,9 @@
Select Case message Select Case message
Case "" 'Print default message only Case "" 'Print default message only
If cause.StartsWith("berry:") = True Then 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 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 If
Case "-1" 'Print no message at all Case "-1" 'Print no message at all
'Do nothing 'Do nothing
@ -4060,9 +4144,9 @@
BattleScreen.BattleQuery.Add(New TextQueryObject(message)) BattleScreen.BattleQuery.Add(New TextQueryObject(message))
If cause.StartsWith("berry:") = True Then 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 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 If
End Select End Select
End If End If
@ -4206,6 +4290,38 @@
ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought") ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought")
Case "air lock" Case "air lock"
ChangeWeather(own, own, BattleWeather.WeatherTypes.Clear, 0, BattleScreen, "", "airlock") 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" Case "download"
If op.Defense < op.SpDefense Then If op.Defense < op.SpDefense Then
RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download") RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download")
@ -4365,6 +4481,62 @@
End If End If
End With End With
End Sub 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) Private Sub ApplyForecast(ByVal BattleScreen As BattleScreen)
With BattleScreen With BattleScreen
Dim p As Pokemon = .OwnPokemon Dim p As Pokemon = .OwnPokemon
@ -4522,6 +4694,32 @@
End If End If
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 'Water Sport
If .FieldEffects.WaterSport > 0 Then If .FieldEffects.WaterSport > 0 Then
.FieldEffects.WaterSport -= 1 .FieldEffects.WaterSport -= 1
@ -4656,8 +4854,10 @@
'Turn count since battle started 'Turn count since battle started
.FieldEffects.OwnTurnCounts += 1 .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 .FieldEffects.OwnPokemonTurns += 1
'Reset turn count for pokemon switching in
If HasSwitchedInOwn Then If HasSwitchedInOwn Then
.FieldEffects.OwnPokemonTurns = 0 .FieldEffects.OwnPokemonTurns = 0
HasSwitchedInOwn = False HasSwitchedInOwn = False
@ -4686,17 +4886,17 @@
End If End If
If .FieldEffects.OwnTaunt > 0 Then If .FieldEffects.OwnTaunt > 0 Then
.FieldEffects.OwnTaunt = 0 .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 usedMentalHerb = True
End If End If
If .FieldEffects.OwnEncore > 0 Then If .FieldEffects.OwnEncore > 0 Then
.FieldEffects.OwnEncore = 0 .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 usedMentalHerb = True
End If End If
If .FieldEffects.OwnTorment > 0 Then If .FieldEffects.OwnTorment > 0 Then
.FieldEffects.OwnTorment = 0 .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 usedMentalHerb = True
End If End If
'Remove disable 'Remove disable
@ -4754,6 +4954,8 @@
If Me.PlayerWonBattle(BattleScreen) = True Then If Me.PlayerWonBattle(BattleScreen) = True Then
Exit Sub Exit Sub
End If End If
TriggerItemEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, False)
ChangeCameraAngel(0, True, BattleScreen) ChangeCameraAngel(0, True, BattleScreen)
If IsAfterFaint = True Then If IsAfterFaint = True Then
Exit Sub Exit Sub
@ -4840,12 +5042,19 @@
If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then
If .OwnPokemon.HP > 0 Then If .OwnPokemon.HP > 0 Then
Dim hailHP As Integer = CInt(.OwnPokemon.MaxHP / 16) 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
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 If .OwnPokemon.HP > 0 Then
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
Dim HPMessage As String = "" Dim HPMessage As String = ""
@ -5219,21 +5428,21 @@
If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt
.FieldEffects.OwnTaunt -= 1 .FieldEffects.OwnTaunt -= 1
If .FieldEffects.OwnTaunt = 0 Then 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
End If End If
If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise
.FieldEffects.OwnMagnetRise -= 1 .FieldEffects.OwnMagnetRise -= 1
If .FieldEffects.OwnMagnetRise = 0 Then 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
End If End If
If .FieldEffects.OwnHealBlock > 0 Then 'Healblock If .FieldEffects.OwnHealBlock > 0 Then 'Healblock
.FieldEffects.OwnHealBlock -= 1 .FieldEffects.OwnHealBlock -= 1
If .FieldEffects.OwnHealBlock = 0 Then 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
End If End If
@ -5283,7 +5492,7 @@
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
If Not .OwnPokemon.Item Is Nothing 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 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 End If
End If End If
@ -5291,7 +5500,7 @@
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
If Not .OwnPokemon.Item Is Nothing 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 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 End If
End If End If
@ -5399,8 +5608,10 @@
'Turn count since battle started 'Turn count since battle started
.FieldEffects.OppTurnCounts += 1 .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 .FieldEffects.OppPokemonTurns += 1
'Reset turn count for pokemon switching in
If HasSwitchedInOpp Then If HasSwitchedInOpp Then
.FieldEffects.OppPokemonTurns = 0 .FieldEffects.OppPokemonTurns = 0
HasSwitchedInOpp = False HasSwitchedInOpp = False
@ -5429,17 +5640,17 @@
End If End If
If .FieldEffects.OppTaunt > 0 Then If .FieldEffects.OppTaunt > 0 Then
.FieldEffects.OppTaunt = 0 .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 usedMentalHerb = True
End If End If
If .FieldEffects.OppEncore > 0 Then If .FieldEffects.OppEncore > 0 Then
.FieldEffects.OppEncore = 0 .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 usedMentalHerb = True
End If End If
If .FieldEffects.OppTorment > 0 Then If .FieldEffects.OppTorment > 0 Then
.FieldEffects.OppTorment = 0 .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 usedMentalHerb = True
End If End If
'Remove disable 'Remove disable
@ -5496,6 +5707,8 @@
If IsAfterFaint = True Then If IsAfterFaint = True Then
Exit Sub Exit Sub
End If End If
TriggerItemEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, False)
With BattleScreen With BattleScreen
If .FieldEffects.OppReflect > 0 Then 'Stop reflect If .FieldEffects.OppReflect > 0 Then 'Stop reflect
.FieldEffects.OppReflect -= 1 .FieldEffects.OppReflect -= 1
@ -5584,6 +5797,13 @@
End If End If
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 If .OppPokemon.HP > 0 Then
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
Dim HPMessage As String = "" Dim HPMessage As String = ""
@ -5958,7 +6178,7 @@
If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt
.FieldEffects.OppTaunt -= 1 .FieldEffects.OppTaunt -= 1
If .FieldEffects.OppTaunt = 0 Then 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
End If End If
@ -5972,7 +6192,7 @@
If .FieldEffects.OppHealBlock > 0 Then 'Healblock If .FieldEffects.OppHealBlock > 0 Then 'Healblock
.FieldEffects.OppHealBlock -= 1 .FieldEffects.OppHealBlock -= 1
If .FieldEffects.OppHealBlock = 0 Then 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
End If End If
@ -5998,7 +6218,7 @@
.FieldEffects.OppFutureSightTurns -= 1 .FieldEffects.OppFutureSightTurns -= 1
If .FieldEffects.OppFutureSightTurns = 0 Then If .FieldEffects.OppFutureSightTurns = 0 Then
If .OwnPokemon.HP > 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 Else
.BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!")) .BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!"))
End If End If
@ -6021,7 +6241,7 @@
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then
If Not .OppPokemon.Item Is Nothing 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 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 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 .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Poison And .OppPokemon.Status <> Pokemon.StatusProblems.BadPoison Then
If Not .OppPokemon.Item Is Nothing 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 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 End If
End If End If
@ -6176,6 +6396,7 @@
.OwnSleepTurns = 0 .OwnSleepTurns = 0
.OwnTruantRound = 0 .OwnTruantRound = 0
.OwnTaunt = 0 .OwnTaunt = 0
.OwnSmacked = 0
.OwnRageCounter = 0 .OwnRageCounter = 0
.OwnUproar = 0 .OwnUproar = 0
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0 If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
@ -6376,22 +6597,7 @@
Dim spikeAffected As Boolean = True Dim spikeAffected As Boolean = True
Dim rockAffected 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 = BattleScreen.FieldEffects.IsGrounded(True, BattleScreen)
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
'Spikes 'Spikes
If spikeAffected = True Then If spikeAffected = True Then
@ -6413,7 +6619,7 @@
If spikeAffected = True Then If spikeAffected = True Then
If .FieldEffects.OppStickyWeb > 0 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 End If
@ -6461,6 +6667,7 @@
End If End If
TriggerAbilityEffect(BattleScreen, True) TriggerAbilityEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, True)
If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then
.FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4) .FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4)
@ -6470,7 +6677,7 @@
BattleScreen.FieldEffects.OwnHealingWish = False BattleScreen.FieldEffects.OwnHealingWish = False
If .OwnPokemon.HP < .OwnPokemon.MaxHP Or .OwnPokemon.Status <> Pokemon.StatusProblems.None Then 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") CureStatusProblem(True, True, BattleScreen, "", "move:healingwish")
End If End If
End If End If
@ -6515,6 +6722,7 @@
.OppSleepTurns = 0 .OppSleepTurns = 0
.OppTruantRound = 0 .OppTruantRound = 0
.OppTaunt = 0 .OppTaunt = 0
.OppSmacked = 0
.OppRageCounter = 0 .OppRageCounter = 0
.OppUproar = 0 .OppUproar = 0
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0 If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
@ -6705,22 +6913,7 @@
Dim spikeAffected As Boolean = True Dim spikeAffected As Boolean = True
Dim rockAffected 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 = BattleScreen.FieldEffects.IsGrounded(False, BattleScreen)
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
If spikeAffected = True Then If spikeAffected = True Then
If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then
@ -6740,7 +6933,7 @@
If spikeAffected = True Then If spikeAffected = True Then
If .FieldEffects.OwnStickyWeb > 0 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 End If
@ -6785,6 +6978,7 @@
End If End If
TriggerAbilityEffect(BattleScreen, False) TriggerAbilityEffect(BattleScreen, False)
TriggerItemEffect(BattleScreen, False)
If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then
.FieldEffects.OppSleepTurns = Core.Random.Next(1, 4) .FieldEffects.OppSleepTurns = Core.Random.Next(1, 4)
@ -6794,7 +6988,7 @@
BattleScreen.FieldEffects.OppHealingWish = False BattleScreen.FieldEffects.OppHealingWish = False
If .OppPokemon.HP < .OppPokemon.MaxHP Or .OppPokemon.Status <> Pokemon.StatusProblems.None Then 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") CureStatusProblem(False, False, BattleScreen, "", "move:healingwish")
End If End If
End If End If

View File

@ -33,6 +33,12 @@
If moveName = "light screen" Or moveName = "reflect" Then If moveName = "light screen" Or moveName = "reflect" Then
turns = 8 turns = 8
End If 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 Select
End If End If
Return turns Return turns
@ -272,6 +278,14 @@
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then
speed *= 2 speed *= 2
End If 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 End Select
Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge
@ -291,11 +305,11 @@
If p.Ability.Name.ToLower() = "slow start" Then If p.Ability.Name.ToLower() = "slow start" Then
If own = True Then If own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
speed = CInt(speed / 2) speed = CInt(speed / 2)
End If End If
Else Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
speed = CInt(speed / 2) speed = CInt(speed / 2)
End If End If
End If End If
@ -371,11 +385,11 @@
If p.Ability.Name.ToLower() = "slow start" Then If p.Ability.Name.ToLower() = "slow start" Then
If own = True Then If own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
attack = CInt(attack / 2) attack = CInt(attack / 2)
End If End If
Else Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
attack = CInt(attack / 2) attack = CInt(attack / 2)
End If End If
End If End If
@ -491,7 +505,7 @@
result = INIT * ACCM result = INIT * ACCM
If Not op.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(Not own) = True Then 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 result *= 0.9F
End If End If
End If End If
@ -674,31 +688,46 @@
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If 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 If p.Ability.Name.ToLower() = "run away" Then
Return True Return True
End If 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 Return False
End If End If
If op.Ability.Name.ToLower() = "arena trap" Then If op.Ability.Name.ToLower() = "arena trap" And op.HP > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise Return False
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
End If 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 If p.Type1.Type = Element.Types.Steel Or p.Type2.Type = Element.Types.Steel Then
Return False Return False
End If End If
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 Dim ingrain As Integer = BattleScreen.FieldEffects.OwnIngrain
If own = False Then If own = False Then
ingrain = BattleScreen.FieldEffects.OppIngrain ingrain = BattleScreen.FieldEffects.OppIngrain
@ -710,13 +739,6 @@
If p.Speed > op.Speed Then If p.Speed > op.Speed Then
Return True Return True
Else 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 A As Integer = p.Speed
Dim B As Integer = op.Speed Dim B As Integer = op.Speed
If B = 0 Then If B = 0 Then
@ -772,37 +794,84 @@
'Sheer Cold 'Sheer Cold
If move.ID = 329 Then If move.ID = 329 Then
If op.IsType(Element.Types.Ice) 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 effectiveness = 0.0F
End If End If
End If End If
Dim ingrain As Integer = BattleScreen.FieldEffects.OppIngrain Dim digHit As Boolean = False
If own = False Then Dim airHit As Boolean = False
ingrain = BattleScreen.FieldEffects.OwnIngrain 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 End If
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground Then 'Grounded hit effectiveness
If BattleScreen.FieldEffects.Gravity = 0 And ingrain = 0 And _targetHasIronBall = False Then If digHit = True Or airHit = True Or regHit = True Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise effectiveness = 1.0F
If own = False Then If op.IsType(Element.Types.Electric) Then
magnetRise = BattleScreen.FieldEffects.OwnMagnetRise effectiveness *= 2
End If End If
If magnetRise > 0 Then If op.IsType(Element.Types.Fire) Then
effectiveness = 0.0F effectiveness *= 2
End If 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
End If End If
@ -832,7 +901,6 @@
End If End If
End If End If
If op.IsType(Element.Types.Ghost) = True Then If op.IsType(Element.Types.Ghost) = True Then
Dim CanHitGhost = False Dim CanHitGhost = False
Dim Foresight As Integer = 0 Dim Foresight As Integer = 0
@ -1018,28 +1086,37 @@
Return True Return True
End If 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.IsRemoteBattle AndAlso BattleScreen.IsPVPBattle AndAlso Not BattleScreen.IsHost Then
If BattleScreen.FieldEffects.ClientCanSwitch = False Then If BattleScreen.FieldEffects.ClientCanSwitch = False Then
Return False Return False
End If End If
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 Return False
End If End If
If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then
Return False Return False
End If End If
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" Then If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OppPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise Return False
If BattleScreen.OwnPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
Return False
End If
End If 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 Return False
End If End If
@ -1056,22 +1133,32 @@
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then
Return True Return True
End If 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 Return False
End If End If
If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then
Return False Return False
End If End If
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" Then If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OwnPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise Return False
If BattleScreen.OppPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
Return False
End If
End If 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 Return False
End If End If
@ -1308,10 +1395,6 @@
If Attack.IsJawMove = True Then If Attack.IsJawMove = True Then
UA = 1.5F UA = 1.5F
End If End If
Case "fur coat"
If Attack.Category = Attack.Categories.Physical Then
UA = 0.5F
End If
Case "refrigerate" Case "refrigerate"
If Attack.Type.Type = Element.Types.Normal Then If Attack.Type.Type = Element.Types.Normal Then
UA = 1.2F UA = 1.2F
@ -1436,11 +1519,11 @@
AM = 1.5F AM = 1.5F
Case "slow start" Case "slow start"
If Own = True Then If Own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
AM = 0.5F AM = 0.5F
End If End If
Else Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
AM = 0.5F AM = 0.5F
End If End If
End If End If
@ -1580,7 +1663,7 @@
DSM = 1.0F DSM = 1.0F
End If 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 SX = 1.0F
End If End If
@ -1590,6 +1673,10 @@
If Op.Number = 132 Then If Op.Number = 132 Then
DMod = 1.5F DMod = 1.5F
End If End If
Case "eviolite"
If Op.IsFullyEvolved = False Then
DMod = 1.5F
End If
End Select End Select
End If End If
@ -1600,6 +1687,15 @@
End If End If
End If 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 ElseIf Attack.Category = Attack.Categories.Special Then
DStat = Attack.GetUseDefenseStat(Op) DStat = Attack.GetUseDefenseStat(Op)
DSM = GetMultiplierFromStat(Op.StatSpDefense) DSM = GetMultiplierFromStat(Op.StatSpDefense)
@ -1719,6 +1815,18 @@
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then
SR = 1.5F SR = 1.5F
End If 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 End Select
If p.Ability.Name.ToLower() = "flash fire" Then If p.Ability.Name.ToLower() = "flash fire" Then
@ -1904,6 +2012,12 @@
TRB = 0.5F TRB = 0.5F
End If End If
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 Select
End If End If
End If End If
@ -1935,6 +2049,19 @@
damage = CInt(damage / 2) damage = CInt(damage / 2)
End If 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 If Attack.IsOneHitKOMove = True Then
damage = Op.HP damage = Op.HP
End If End If

View File

@ -50,7 +50,41 @@
If y > -1 Then 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.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 If
End Sub End Sub
@ -268,6 +302,7 @@
End Select End Select
DrawWeather(BattleScreen) DrawWeather(BattleScreen)
DrawTerrain(BattleScreen)
End If End If
End Sub End Sub

View File

@ -8,6 +8,10 @@
Public OwnFaint As Boolean = False Public OwnFaint As Boolean = False
Public OppFaint 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 'Used for lead picking in PvP Battles
Public Shared OwnLeadIndex As Integer = 0 Public Shared OwnLeadIndex As Integer = 0
Public Shared OppLeadIndex As Integer = 0 Public Shared OppLeadIndex As Integer = 0
@ -284,7 +288,7 @@
q3.PassThis = True q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F) 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) Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
@ -428,7 +432,7 @@
q3.PassThis = True q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F) 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) Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
@ -680,7 +684,7 @@
q3.PassThis = True q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F) 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) Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)

View File

@ -10,13 +10,20 @@
Public OwnTruantRound As Integer = 0 'Truant move counter Public OwnTruantRound As Integer = 0 'Truant move counter
Public OwnImprison As Integer = 0 'Imprison move counter Public OwnImprison As Integer = 0 'Imprison move counter
Public OwnTaunt As Integer = 0 'Taunt 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 OwnRageCounter As Integer = 0 'Rage move counter
Public OwnUproar As Integer = 0 'Uproar move counter Public OwnUproar As Integer = 0 'Uproar move counter
Public OwnFocusEnergy As Integer = 0 'Focus energy move counter Public OwnFocusEnergy As Integer = 0 'Focus energy move counter
Public OwnEndure As Integer = 0 'Endure move counter Public OwnEndure As Integer = 0 'Endure move counter
Public OwnProtectCounter As Integer = 0 'Protect move counter Public OwnProtectCounter As Integer = 0 'Protect move counter
Public OwnKingsShieldCounter As Integer = 0 'Kings Shield 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 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 OwnIngrain As Integer = 0 'Ingrain move counter
Public OwnSubstitute As Integer = 0 'Substitute HP left Public OwnSubstitute As Integer = 0 'Substitute HP left
Public OwnLuckyChant As Integer = 0 'Lucky chant move counter Public OwnLuckyChant As Integer = 0 'Lucky chant move counter
@ -92,6 +99,7 @@
Public OwnUsedMoves As New List(Of Integer) Public OwnUsedMoves As New List(Of Integer)
Public OwnMagicCoat As Integer = 0 Public OwnMagicCoat As Integer = 0
Public OwnConsumedItem As Item = Nothing Public OwnConsumedItem As Item = Nothing
Public OwnSmacked As Integer = 0 'Smack Down effect condition
Public OwnPursuit As Boolean = False Public OwnPursuit As Boolean = False
Public OwnMegaEvolved 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. 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 OppImprison As Integer = 0
Public OppHealBlock As Integer = 0 Public OppHealBlock As Integer = 0
Public OppTaunt As Integer = 0 Public OppTaunt As Integer = 0
Public OppTelekinesis As Integer = 0
Public OppRageCounter As Integer = 0 Public OppRageCounter As Integer = 0
Public OppUproar As Integer = 0 Public OppUproar As Integer = 0
Public OppFocusEnergy As Integer = 0 Public OppFocusEnergy As Integer = 0
Public OppEndure As Integer = 0 Public OppEndure As Integer = 0
Public OppProtectCounter As Integer = 0 Public OppProtectCounter As Integer = 0
Public OppKingsShieldCounter As Integer = 0 Public OppKingsShieldCounter As Integer = 0
Public OppSpikyShieldCounter As Integer = 0
Public OppDetectCounter 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 OppIngrain As Integer = 0
Public OppSubstitute As Integer = 0 Public OppSubstitute As Integer = 0
Public OppSafeguard As Integer = 0 Public OppSafeguard As Integer = 0
@ -204,6 +219,7 @@
Public OppPokemonDamagedLastTurn As Boolean = False Public OppPokemonDamagedLastTurn As Boolean = False
Public OppMagicCoat As Integer = 0 Public OppMagicCoat As Integer = 0
Public OppConsumedItem As Item = Nothing Public OppConsumedItem As Item = Nothing
Public OppSmacked As Integer = 0
Public OppPursuit As Boolean = False Public OppPursuit As Boolean = False
Public OppMegaEvolved As Boolean = False Public OppMegaEvolved As Boolean = False
Public OppRoostUsed As Boolean = False Public OppRoostUsed As Boolean = False
@ -253,6 +269,11 @@
Public Rounds As Integer = 0 Public Rounds As Integer = 0
Public AmuletCoin 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 'Special stuff
Public RunTries As Integer = 0 Public RunTries As Integer = 0
Public UsedPokemon As New List(Of Integer) Public UsedPokemon As New List(Of Integer)
@ -325,6 +346,63 @@
Return True Return True
End Function 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 Public Function GetPokemonWeight(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Single
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon Dim op As Pokemon = BattleScreen.OppPokemon

View File

@ -117,6 +117,10 @@
''' </summary> ''' </summary>
Public Taunted As Integer = 0 Public Taunted As Integer = 0
''' <summary> ''' <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. ''' If the Pokémon is affected by Embargo.
''' </summary> ''' </summary>
Public Embargo As Integer = 0 Public Embargo As Integer = 0
@ -353,6 +357,30 @@
''' King's Shield move counter. ''' King's Shield move counter.
''' </summary> ''' </summary>
Public KingsShield As Integer = 0 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> ''' <summary>
''' Ingrain move counter. ''' Ingrain move counter.
@ -375,6 +403,10 @@
''' </summary> ''' </summary>
Public Cursed As Integer = 0 Public Cursed As Integer = 0
''' <summary> ''' <summary>
''' If the Pokémon is affected by Grounding.
''' </summary>
Public Smacked As Integer = 0
''' <summary>
''' Turns until Perish Song faints Pokémon. ''' Turns until Perish Song faints Pokémon.
''' </summary> ''' </summary>
Public PerishSong As Integer = 0 Public PerishSong As Integer = 0
@ -436,12 +468,19 @@
Me.SleepTurns = 0 Me.SleepTurns = 0
Me.TruantRound = 0 Me.TruantRound = 0
Me.Taunted = 0 Me.Taunted = 0
Me.Telekinesis = 0
Me.Rage = 0 Me.Rage = 0
Me.Uproar = 0 Me.Uproar = 0
Me.Endure = 0 Me.Endure = 0
Me.Protect = 0 Me.Protect = 0
Me.Detect = 0 Me.Detect = 0
Me.KingsShield = 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.ProtectMoveCounter = 0
Me.ToxicRound = 0 Me.ToxicRound = 0
Me.Nightmare = 0 Me.Nightmare = 0
@ -495,6 +534,7 @@
Me.Bide = 0 Me.Bide = 0
Me.BideDamage = 0 Me.BideDamage = 0
Me.Roost = 0 Me.Roost = 0
Me.Smacked = 0
'If Baton Pass is not used to switch, also reset these variables: 'If Baton Pass is not used to switch, also reset these variables:
If BatonPassed = False Then If BatonPassed = False Then

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

View File

@ -10999,6 +10999,15 @@
<Content Include="Content\GUI\MainMenu\lugiaParticle.png"> <Content Include="Content\GUI\MainMenu\lugiaParticle.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </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"> <Content Include="Content\Localization\Tokens_de.dat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@ -26097,6 +26106,10 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Compile Include="Pokemon\Abilities\Aerilate.vb" /> <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\TanglingHair.vb" />
<Compile Include="Pokemon\Abilities\SlushRush.vb" /> <Compile Include="Pokemon\Abilities\SlushRush.vb" />
<Compile Include="Pokemon\Abilities\PowerofAlchemy.vb" /> <Compile Include="Pokemon\Abilities\PowerofAlchemy.vb" />
@ -26116,6 +26129,8 @@
<Compile Include="Pokemon\Attacks\Dragon\ClangingScales.vb" /> <Compile Include="Pokemon\Attacks\Dragon\ClangingScales.vb" />
<Compile Include="Pokemon\Attacks\Dragon\DragonHammer.vb" /> <Compile Include="Pokemon\Attacks\Dragon\DragonHammer.vb" />
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.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\Geomancy.vb" />
<Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb" /> <Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb" />
<Compile Include="Pokemon\Attacks\Fairy\FleurCannon.vb" /> <Compile Include="Pokemon\Attacks\Fairy\FleurCannon.vb" />
@ -26132,6 +26147,7 @@
<Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb" /> <Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb" />
<Compile Include="Pokemon\Attacks\Ghost\SpiritShackle.vb" /> <Compile Include="Pokemon\Attacks\Ghost\SpiritShackle.vb" />
<Compile Include="Pokemon\Attacks\Grass\Leafage.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\TropKick.vb" />
<Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" /> <Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" />
<Compile Include="Pokemon\Attacks\Grass\Strength Sap.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\PrismaticLaser.vb" />
<Compile Include="Pokemon\Attacks\Psychic\PsychicFangs.vb" /> <Compile Include="Pokemon\Attacks\Psychic\PsychicFangs.vb" />
<Compile Include="Pokemon\Attacks\Psychic\HyperspaceHole.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\Synchronoise.vb" />
<Compile Include="Pokemon\Attacks\Psychic\Psystrike.vb" /> <Compile Include="Pokemon\Attacks\Psychic\Psystrike.vb" />
<Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb" /> <Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb" />
@ -26172,6 +26189,9 @@
<Compile Include="Pokemon\Attacks\Water\OriginPulse.vb" /> <Compile Include="Pokemon\Attacks\Water\OriginPulse.vb" />
<Compile Include="Pokemon\Attacks\Water\Liquidation.vb" /> <Compile Include="Pokemon\Attacks\Water\Liquidation.vb" />
<Compile Include="Pokemon\Attacks\Water\SparklingAria.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\KeyItems\LibertySeaMap.vb" />
<Compile Include="Pokemon\Items\Machines\TM171.vb" /> <Compile Include="Pokemon\Items\Machines\TM171.vb" />
<Compile Include="Pokemon\Items\Machines\TM172.vb" /> <Compile Include="Pokemon\Items\Machines\TM172.vb" />
@ -26184,6 +26204,12 @@
<Compile Include="Pokemon\Items\Machines\TM181.vb" /> <Compile Include="Pokemon\Items\Machines\TM181.vb" />
<Compile Include="Pokemon\Items\Machines\TM174.vb" /> <Compile Include="Pokemon\Items\Machines\TM174.vb" />
<Compile Include="Pokemon\Items\Machines\TM173.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\DouseDrive.vb" />
<Compile Include="Pokemon\Items\Standard\ChillDrive.vb" /> <Compile Include="Pokemon\Items\Standard\ChillDrive.vb" />
<Compile Include="Pokemon\Items\Standard\Snowball.vb" /> <Compile Include="Pokemon\Items\Standard\Snowball.vb" />
@ -27099,15 +27125,15 @@
<Compile Include="Pokemon\Attacks\Bug\StruggleBug.vb" /> <Compile Include="Pokemon\Attacks\Bug\StruggleBug.vb" />
<Compile Include="Pokemon\Attacks\Bug\Tailglow.vb" /> <Compile Include="Pokemon\Attacks\Bug\Tailglow.vb" />
<Compile Include="Pokemon\Attacks\Bug\Twineedle.vb" /> <Compile Include="Pokemon\Attacks\Bug\Twineedle.vb" />
<Compile Include="Pokemon\Attacks\Bug\UTurn.vb" /> <Compile Include="Pokemon\Attacks\Bug\U-Turn.vb" />
<Compile Include="Pokemon\Attacks\Bug\Xscissor.vb" /> <Compile Include="Pokemon\Attacks\Bug\XScissor.vb" />
<Compile Include="Pokemon\Attacks\Dark\Assurance.vb" /> <Compile Include="Pokemon\Attacks\Dark\Assurance.vb" />
<Compile Include="Pokemon\Attacks\Dark\BeatUp.vb" /> <Compile Include="Pokemon\Attacks\Dark\BeatUp.vb" />
<Compile Include="Pokemon\Attacks\Dark\Bite.vb" /> <Compile Include="Pokemon\Attacks\Dark\Bite.vb" />
<Compile Include="Pokemon\Attacks\Dark\Crunch.vb" /> <Compile Include="Pokemon\Attacks\Dark\Crunch.vb" />
<Compile Include="Pokemon\Attacks\Dark\DarkPulse.vb" /> <Compile Include="Pokemon\Attacks\Dark\DarkPulse.vb" />
<Compile Include="Pokemon\Attacks\Dark\Embargo.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\FakeTears.vb" />
<Compile Include="Pokemon\Attacks\Dark\Flatter.vb" /> <Compile Include="Pokemon\Attacks\Dark\Flatter.vb" />
<Compile Include="Pokemon\Attacks\Dark\Fling.vb" /> <Compile Include="Pokemon\Attacks\Dark\Fling.vb" />
@ -27117,7 +27143,7 @@
<Compile Include="Pokemon\Attacks\Dark\Memento.vb" /> <Compile Include="Pokemon\Attacks\Dark\Memento.vb" />
<Compile Include="Pokemon\Attacks\Dark\NastyPlot.vb" /> <Compile Include="Pokemon\Attacks\Dark\NastyPlot.vb" />
<Compile Include="Pokemon\Attacks\Dark\NightDaze.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\Payback.vb" />
<Compile Include="Pokemon\Attacks\Dark\Punishment.vb" /> <Compile Include="Pokemon\Attacks\Dark\Punishment.vb" />
<Compile Include="Pokemon\Attacks\Dark\Pursuit.vb" /> <Compile Include="Pokemon\Attacks\Dark\Pursuit.vb" />
@ -27186,7 +27212,7 @@
<Compile Include="Pokemon\Attacks\Fighting\FocusPunch.vb" /> <Compile Include="Pokemon\Attacks\Fighting\FocusPunch.vb" />
<Compile Include="Pokemon\Attacks\Fighting\ForcePalm.vb" /> <Compile Include="Pokemon\Attacks\Fighting\ForcePalm.vb" />
<Compile Include="Pokemon\Attacks\Fighting\HammerArm.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\JumpKick.vb" />
<Compile Include="Pokemon\Attacks\Fighting\KarateChop.vb" /> <Compile Include="Pokemon\Attacks\Fighting\KarateChop.vb" />
<Compile Include="Pokemon\Attacks\Fighting\LowKick.vb" /> <Compile Include="Pokemon\Attacks\Fighting\LowKick.vb" />
@ -27299,7 +27325,7 @@
<Compile Include="Pokemon\Attacks\Grass\PowerWhip.vb" /> <Compile Include="Pokemon\Attacks\Grass\PowerWhip.vb" />
<Compile Include="Pokemon\Attacks\Grass\RazorLeaf.vb" /> <Compile Include="Pokemon\Attacks\Grass\RazorLeaf.vb" />
<Compile Include="Pokemon\Attacks\Grass\SeedBomb.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\SleepPowder.vb" />
<Compile Include="Pokemon\Attacks\Grass\SolarBeam.vb" /> <Compile Include="Pokemon\Attacks\Grass\SolarBeam.vb" />
<Compile Include="Pokemon\Attacks\Grass\Spore.vb" /> <Compile Include="Pokemon\Attacks\Grass\Spore.vb" />
@ -27322,7 +27348,7 @@
<Compile Include="Pokemon\Attacks\Ground\MudBomb.vb" /> <Compile Include="Pokemon\Attacks\Ground\MudBomb.vb" />
<Compile Include="Pokemon\Attacks\Ground\MudShot.vb" /> <Compile Include="Pokemon\Attacks\Ground\MudShot.vb" />
<Compile Include="Pokemon\Attacks\Ground\MudSport.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\SandTomb.vb" />
<Compile Include="Pokemon\Attacks\Ground\Spikes.vb" /> <Compile Include="Pokemon\Attacks\Ground\Spikes.vb" />
<Compile Include="Pokemon\Attacks\Ice\AuroraBeam.vb" /> <Compile Include="Pokemon\Attacks\Ice\AuroraBeam.vb" />
@ -27356,7 +27382,7 @@
<Compile Include="Pokemon\Attacks\Normal\BodySlam.vb" /> <Compile Include="Pokemon\Attacks\Normal\BodySlam.vb" />
<Compile Include="Pokemon\Attacks\Normal\Boomburst.vb" /> <Compile Include="Pokemon\Attacks\Normal\Boomburst.vb" />
<Compile Include="Pokemon\Attacks\Normal\Captivate.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\ChipAway.vb" />
<Compile Include="Pokemon\Attacks\Normal\CometPunch.vb" /> <Compile Include="Pokemon\Attacks\Normal\CometPunch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Confide.vb" /> <Compile Include="Pokemon\Attacks\Normal\Confide.vb" />
@ -27417,7 +27443,7 @@
<Compile Include="Pokemon\Attacks\Normal\Mimic.vb" /> <Compile Include="Pokemon\Attacks\Normal\Mimic.vb" />
<Compile Include="Pokemon\Attacks\Normal\MindReader.vb" /> <Compile Include="Pokemon\Attacks\Normal\MindReader.vb" />
<Compile Include="Pokemon\Attacks\Normal\Minimize.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\MorningSun.vb" />
<Compile Include="Pokemon\Attacks\Normal\NaturalGift.vb" /> <Compile Include="Pokemon\Attacks\Normal\NaturalGift.vb" />
<Compile Include="Pokemon\Attacks\Normal\NaturePower.vb" /> <Compile Include="Pokemon\Attacks\Normal\NaturePower.vb" />
@ -27445,7 +27471,7 @@
<Compile Include="Pokemon\Attacks\Normal\ScaryFace.vb" /> <Compile Include="Pokemon\Attacks\Normal\ScaryFace.vb" />
<Compile Include="Pokemon\Attacks\Normal\Scratch.vb" /> <Compile Include="Pokemon\Attacks\Normal\Scratch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Screech.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\Sharpen.vb" />
<Compile Include="Pokemon\Attacks\Normal\ShellSmash.vb" /> <Compile Include="Pokemon\Attacks\Normal\ShellSmash.vb" />
<Compile Include="Pokemon\Attacks\Normal\Sing.vb" /> <Compile Include="Pokemon\Attacks\Normal\Sing.vb" />
@ -27455,11 +27481,11 @@
<Compile Include="Pokemon\Attacks\Normal\Slam.vb" /> <Compile Include="Pokemon\Attacks\Normal\Slam.vb" />
<Compile Include="Pokemon\Attacks\Normal\Slash.vb" /> <Compile Include="Pokemon\Attacks\Normal\Slash.vb" />
<Compile Include="Pokemon\Attacks\Normal\SleepTalk.vb" /> <Compile Include="Pokemon\Attacks\Normal\SleepTalk.vb" />
<Compile Include="Pokemon\Attacks\Normal\SmellingSalt.vb" /> <Compile Include="Pokemon\Attacks\Normal\SmellingSalts.vb" />
<Compile Include="Pokemon\Attacks\Normal\SmokeScreen.vb" /> <Compile Include="Pokemon\Attacks\Normal\Smokescreen.vb" />
<Compile Include="Pokemon\Attacks\Normal\Snatch.vb" /> <Compile Include="Pokemon\Attacks\Normal\Snatch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Snore.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\SonicBoom.vb" />
<Compile Include="Pokemon\Attacks\Normal\SpikeCannon.vb" /> <Compile Include="Pokemon\Attacks\Normal\SpikeCannon.vb" />
<Compile Include="Pokemon\Attacks\Normal\SpitUp.vb" /> <Compile Include="Pokemon\Attacks\Normal\SpitUp.vb" />
@ -27473,7 +27499,7 @@
<Compile Include="Pokemon\Attacks\Normal\Supersonic.vb" /> <Compile Include="Pokemon\Attacks\Normal\Supersonic.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swagger.vb" /> <Compile Include="Pokemon\Attacks\Normal\Swagger.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swallow.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\SweetScent.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swift.vb" /> <Compile Include="Pokemon\Attacks\Normal\Swift.vb" />
<Compile Include="Pokemon\Attacks\Normal\SwordsDance.vb" /> <Compile Include="Pokemon\Attacks\Normal\SwordsDance.vb" />
@ -27582,7 +27608,7 @@
<Compile Include="Pokemon\Attacks\Steel\GyroBall.vb" /> <Compile Include="Pokemon\Attacks\Steel\GyroBall.vb" />
<Compile Include="Pokemon\Attacks\Steel\HeavySlam.vb" /> <Compile Include="Pokemon\Attacks\Steel\HeavySlam.vb" />
<Compile Include="Pokemon\Attacks\Steel\IronDefense.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\IronTail.vb" />
<Compile Include="Pokemon\Attacks\Steel\KingsShield.vb" /> <Compile Include="Pokemon\Attacks\Steel\KingsShield.vb" />
<Compile Include="Pokemon\Attacks\Steel\MagnetBomb.vb" /> <Compile Include="Pokemon\Attacks\Steel\MagnetBomb.vb" />
@ -27595,18 +27621,18 @@
<Compile Include="Pokemon\Attacks\Steel\SteelWing.vb" /> <Compile Include="Pokemon\Attacks\Steel\SteelWing.vb" />
<Compile Include="Pokemon\Attacks\StruggleAttack.vb" /> <Compile Include="Pokemon\Attacks\StruggleAttack.vb" />
<Compile Include="Pokemon\Attacks\TheDerpMove.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\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\Brine.vb" />
<Compile Include="Pokemon\Attacks\Water\Bubble.vb" /> <Compile Include="Pokemon\Attacks\Water\Bubble.vb" />
<Compile Include="Pokemon\Attacks\Water\BubbleBeam.vb" /> <Compile Include="Pokemon\Attacks\Water\BubbleBeam.vb" />
<Compile Include="Pokemon\Attacks\Water\Clamp.vb" /> <Compile Include="Pokemon\Attacks\Water\Clamp.vb" />
<Compile Include="Pokemon\Attacks\Water\Crabhammer.vb" /> <Compile Include="Pokemon\Attacks\Water\Crabhammer.vb" />
<Compile Include="Pokemon\Attacks\Water\Dive.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\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\Octazooka.vb" />
<Compile Include="Pokemon\Attacks\Water\RainDance.vb" /> <Compile Include="Pokemon\Attacks\Water\RainDance.vb" />
<Compile Include="Pokemon\Attacks\Water\RazorShell.vb" /> <Compile Include="Pokemon\Attacks\Water\RazorShell.vb" />
@ -28135,7 +28161,7 @@
<Compile Include="Pokemon\Items\Standard\PinkBow.vb" /> <Compile Include="Pokemon\Items\Standard\PinkBow.vb" />
<Compile Include="Pokemon\Items\Standard\PoisonBarb.vb" /> <Compile Include="Pokemon\Items\Standard\PoisonBarb.vb" />
<Compile Include="Pokemon\Items\Standard\PokeDoll.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\PowerAnklet.vb" />
<Compile Include="Pokemon\Items\Standard\PowerBand.vb" /> <Compile Include="Pokemon\Items\Standard\PowerBand.vb" />
<Compile Include="Pokemon\Items\Standard\PowerBelt.vb" /> <Compile Include="Pokemon\Items\Standard\PowerBelt.vb" />

View File

@ -459,7 +459,7 @@
Case 107 Case 107
returnMove = New Moves.Normal.Minimize() returnMove = New Moves.Normal.Minimize()
Case 108 Case 108
returnMove = New Moves.Normal.SmokeScreen() returnMove = New Moves.Normal.Smokescreen()
Case 109 Case 109
returnMove = New Moves.Ghost.ConfuseRay() returnMove = New Moves.Ghost.ConfuseRay()
Case 110 Case 110
@ -483,7 +483,7 @@
Case 119 Case 119
returnMove = New Moves.Flying.MirrorMove() returnMove = New Moves.Flying.MirrorMove()
Case 120 Case 120
returnMove = New Moves.Normal.Selfdestruct() returnMove = New Moves.Normal.SelfDestruct()
Case 121 Case 121
returnMove = New Moves.Normal.EggBomb() returnMove = New Moves.Normal.EggBomb()
Case 122 Case 122
@ -513,9 +513,9 @@
Case 134 Case 134
returnMove = New Moves.Psychic.Kinesis() returnMove = New Moves.Psychic.Kinesis()
Case 135 Case 135
returnMove = New Moves.Normal.Softboiled() returnMove = New Moves.Normal.SoftBoiled()
Case 136 Case 136
returnMove = New Moves.Fighting.HiJumpKick() returnMove = New Moves.Fighting.HighJumpKick()
Case 137 Case 137
returnMove = New Moves.Normal.Glare() returnMove = New Moves.Normal.Glare()
Case 138 Case 138
@ -613,9 +613,9 @@
Case 184 Case 184
returnMove = New Moves.Normal.ScaryFace() returnMove = New Moves.Normal.ScaryFace()
Case 185 Case 185
returnMove = New Moves.Dark.FaintAttack() returnMove = New Moves.Dark.FeintAttack()
Case 186 Case 186
returnMove = New Moves.Normal.SweetKiss() returnMove = New Moves.Fairy.SweetKiss()
Case 187 Case 187
returnMove = New Moves.Normal.BellyDrum() returnMove = New Moves.Normal.BellyDrum()
Case 188 Case 188
@ -651,7 +651,7 @@
Case 203 Case 203
returnMove = New Moves.Normal.Endure() returnMove = New Moves.Normal.Endure()
Case 204 Case 204
returnMove = New Moves.Normal.Charm() returnMove = New Moves.Fairy.Charm()
Case 205 Case 205
returnMove = New Moves.Rock.Rollout() returnMove = New Moves.Rock.Rollout()
Case 206 Case 206
@ -715,7 +715,7 @@
Case 235 Case 235
returnMove = New Moves.Grass.Synthesis() returnMove = New Moves.Grass.Synthesis()
Case 236 Case 236
returnMove = New Moves.Normal.Moonlight() returnMove = New Moves.Fairy.Moonlight()
Case 237 Case 237
returnMove = New Moves.Normal.HiddenPower() returnMove = New Moves.Normal.HiddenPower()
Case 238 Case 238
@ -773,7 +773,7 @@
Case 264 Case 264
returnMove = New Moves.Fighting.FocusPunch() returnMove = New Moves.Fighting.FocusPunch()
Case 265 Case 265
returnMove = New Moves.Normal.SmellingSalt() returnMove = New Moves.Normal.SmellingSalts()
'Case 266 'Case 266
'Follow me - Double Battles 'Follow me - Double Battles
Case 267 Case 267

View File

@ -14,7 +14,7 @@
Me.Power = 60 Me.Power = 60
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Bug Bite" 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.Description = "The user bites the target. If the target is holding a Berry, the user eats it and gains its effect."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 90 Me.Power = 90
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Bug Buzz" 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.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 Me.CriticalChance = 1

View File

@ -26,7 +26,7 @@
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = False
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Bug Namespace BattleSystem.Moves.Bug
Public Class Xscissor Public Class XScissor
Inherits Attack Inherits Attack
@ -14,7 +14,7 @@
Me.Power = 80 Me.Power = 80
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "X-Scissor" 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.Description = "The user slashes at the target by crossing its scythes or claws as if they were a pair of scissors."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 60 Me.Power = 60
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Smart
Me.Name = "Assurance" Me.Name = "Assurance"
Me.Description = "If the target has already taken some damage in the same turn, this attack's power is doubled." Me.Description = "If the target has already taken some damage in the same turn, this attack's power is doubled."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Smart
Me.Name = "Embargo" 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.Description = "This move prevents the target from using its held item. Its Trainer is also prevented from using items on it."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cute
Me.Name = "Fake Tears" Me.Name = "Fake Tears"
Me.Description = "The user feigns crying to fluster the target, harshly lowering its Sp. Def stat." Me.Description = "The user feigns crying to fluster the target, harshly lowering its Sp. Def stat."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Dark Namespace BattleSystem.Moves.Dark
Public Class FaintAttack Public Class FeintAttack
Inherits Attack Inherits Attack
@ -15,7 +15,7 @@
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart 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.Description = "The user approaches the target disarmingly, then throws a sucker punch. It hits without fail."
Me.CriticalChance = 1 Me.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Fling" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Smart
Me.Name = "Nasty Plot" Me.Name = "Nasty Plot"
Me.Description = "The user stimulates its brain by thinking bad thoughts. It sharply raises the user's Sp. Atk." Me.Description = "The user stimulates its brain by thinking bad thoughts. It sharply raises the user's Sp. Atk."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Dark Namespace BattleSystem.Moves.Dark
Public Class Nightslash Public Class NightSlash
Inherits Attack Inherits Attack
@ -14,7 +14,7 @@
Me.Power = 70 Me.Power = 70
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "Night Slash" Me.Name = "Night Slash"
Me.Description = "The user slashes the target the instant an opportunity arises. Critical hits land more easily." Me.Description = "The user slashes the target the instant an opportunity arises. Critical hits land more easily."
Me.CriticalChance = 2 Me.CriticalChance = 2

View File

@ -48,14 +48,14 @@
Me.IsAffectedBySubstitute = True Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True Me.IsWonderGuardAffected = False
'#End '#End
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) 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 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") 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!")) BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub

View File

@ -14,7 +14,7 @@
Me.Power = 50 Me.Power = 50
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Payback" Me.Name = "Payback"
Me.Description = "If the user moves after the target, this attack's power will be doubled" Me.Description = "If the user moves after the target, this attack's power will be doubled"
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cool
Me.Name = "Punishment" Me.Name = "Punishment"
Me.Description = "This attack's power increases the more the target has powered up with stat changes." Me.Description = "This attack's power increases the more the target has powered up with stat changes."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Dark
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Smart
Me.Name = "Switcheroo" Me.Name = "Switcheroo"
Me.Description = "The user trades held items with the target faster than the eye can follow." Me.Description = "The user trades held items with the target faster than the eye can follow."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 130 Me.Power = 130
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Draco Meteor" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 85 Me.Power = 85
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Dragon Pulse" Me.Name = "Dragon Pulse"
Me.Description = "The target is attacked with a shock wave generated by the user's gaping mouth." Me.Description = "The target is attacked with a shock wave generated by the user's gaping mouth."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 100 Me.Power = 100
Me.Accuracy = 75 Me.Accuracy = 75
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Dragon Rush" Me.Name = "Dragon Rush"
Me.Description = "The user tackles the target while exhibiting overwhelming menace. It may also make the target flinch." Me.Description = "The user tackles the target while exhibiting overwhelming menace. It may also make the target flinch."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 150 Me.Power = 150
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Roar of Time" 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.Description = "The user blasts the target with power that distorts even time. The user can't move on the next turn."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 100 Me.Power = 100
Me.Accuracy = 95 Me.Accuracy = 95
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Spacial Rend" Me.Name = "Spacial Rend"
Me.Description = "The user tears the target along with the space around it. Critical hits land more easily." Me.Description = "The user tears the target along with the space around it. Critical hits land more easily."
Me.CriticalChance = 2 Me.CriticalChance = 2

View File

@ -14,7 +14,7 @@
Me.Power = 80 Me.Power = 80
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Discharge" Me.Name = "Discharge"
Me.Description = "The user strikes everything around it by letting loose a flare of electricity. This may also cause paralysis." Me.Description = "The user strikes everything around it by letting loose a flare of electricity. This may also cause paralysis."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Smart
Me.Name = "Magnet Rise" Me.Name = "Magnet Rise"
Me.Description = "The user levitates using electrically generated magnetism for five turns." Me.Description = "The user levitates using electrically generated magnetism for five turns."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -1,4 +1,4 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Fairy
Public Class Charm Public Class Charm

View File

@ -1,4 +1,4 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Fairy
Public Class Moonlight Public Class Moonlight

View File

@ -1,4 +1,4 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Fairy
Public Class SweetKiss Public Class SweetKiss

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Fighting
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "Bulk Up" Me.Name = "Bulk Up"
Me.Description = "The user tenses its muscles to bulk up its body, raising both its Attack and Defense stats." Me.Description = "The user tenses its muscles to bulk up its body, raising both its Attack and Defense stats."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 120 Me.Power = 120
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Close Combat" 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.Description = "The user fights the target up close without guarding itself. It also cuts the user's Defense and Sp. Def."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 75 Me.Power = 75
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Tough
Me.Name = "Drain Punch" 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.Description = "An energy-draining punch. The user's HP is restored by half the damage taken by the target."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -42,7 +42,7 @@
Me.IsHealingMove = False Me.IsHealingMove = False
Me.IsRecoilMove = False Me.IsRecoilMove = False
Me.IsPunchingMove = False Me.IsPunchingMove = False
Me.IsDamagingMove = True Me.IsDamagingMove = False
Me.IsProtectMove = False Me.IsProtectMove = False
Me.IsSoundMove = False Me.IsSoundMove = False
@ -55,14 +55,23 @@
Me.AIField2 = AIField.Selfdestruct Me.AIField2 = AIField.Selfdestruct
End Sub 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) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon Dim p As Pokemon = BattleScreen.OwnPokemon
If own = False Then If own = False Then
p = BattleScreen.OppPokemon p = BattleScreen.OppPokemon
End If End If
Dim dmg As Integer = p.HP BattleScreen.Battle.ReduceHP(dmg, Not own, own, BattleScreen, "", "move:finalgambit")
BattleScreen.Battle.ReduceHP(p.HP, own, own, BattleScreen, "", "move:finalgambit")
BattleScreen.Battle.ReduceHP(p.HP, Not own, own, BattleScreen, "", "move:finalgambit")
End Sub End Sub
End Class End Class

View File

@ -14,7 +14,7 @@
Me.Power = 100 Me.Power = 100
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Hammer Arm" Me.Name = "Hammer Arm"
Me.Description = "The user swings and hits with its strong and heavy fist. It lowers the users Speed, however." Me.Description = "The user swings and hits with its strong and heavy fist. It lowers the users Speed, however."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Fighting Namespace BattleSystem.Moves.Fighting
Public Class HiJumpKick Public Class HighJumpKick
Inherits Attack Inherits Attack
@ -15,7 +15,7 @@
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool 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.Description = "The target is attacked with a knee kick from a jump. If it misses, the user is hurt instead."
Me.CriticalChance = 1 Me.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -14,7 +14,7 @@
Me.Power = 70 Me.Power = 70
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Wake-Up Slap" Me.Name = "Wake-Up Slap"
Me.Description = "This attack inflicts big damage on a sleeping target. It also wakes the target up, however." Me.Description = "This attack inflicts big damage on a sleeping target. It also wakes the target up, however."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 85 Me.Power = 85
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "Blaze Kick" 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.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 Me.CriticalChance = 2

View File

@ -14,7 +14,7 @@
Me.Power = 40 Me.Power = 40
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cute
Me.Name = "Ember" Me.Name = "Ember"
Me.Description = "The target is attacked with small flames. It may also leave the target with a burn." Me.Description = "The target is attacked with small flames. It may also leave the target with a burn."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 65 Me.Power = 65
Me.Accuracy = 95 Me.Accuracy = 95
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "Fire Fang" 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.Description = "The user bites with flame cloaked fangs. It may also make the target flinch or leave it burned."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 75 Me.Power = 75
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Tough
Me.Name = "Fire Punch" Me.Name = "Fire Punch"
Me.Description = "The target is punched with a fiery fist. It may also leave the target with a burn." Me.Description = "The target is punched with a fiery fist. It may also leave the target with a burn."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 120 Me.Power = 120
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cool
Me.Name = "Flare Blitz" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 120 Me.Power = 120
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cool
Me.Name = "Brave Bird" 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.Description = "The user tucks in its wings and charges from a low altitude. The user also takes serious damage."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cool
Me.Name = "Defog" 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.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 Me.CriticalChance = 1

View File

@ -60,7 +60,7 @@
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then 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 If
End Sub End Sub

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Smart
Me.Name = "Roost" 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.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 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Flying
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cool
Me.Name = "Tailwind" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Ghost
Me.Power = 30 Me.Power = 30
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cute
Me.Name = "Astonish" Me.Name = "Astonish"
Me.Description = "The user attacks the target while shouting in a startling fashion. This may also make the target flinch." Me.Description = "The user attacks the target while shouting in a startling fashion. This may also make the target flinch."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 30 Me.Power = 30
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Lick" Me.Name = "Lick"
Me.Description = "The target is licked with a long tongue, causing damage. It may also leave the target with paralysis." Me.Description = "The target is licked with a long tongue, causing damage. It may also leave the target with paralysis."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 60 Me.Power = 60
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Ominous Wind" 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.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 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 70 Me.Power = 70
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cute Me.ContestCategory = ContestCategories.Cool
Me.Name = "Shadow Claw" Me.Name = "Shadow Claw"
Me.Description = "The user slashes with a sharp claw made from shadows. Critical hits land more easily." Me.Description = "The user slashes with a sharp claw made from shadows. Critical hits land more easily."
Me.CriticalChance = 2 Me.CriticalChance = 2

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Ghost
Me.Power = 120 Me.Power = 120
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cool
Me.Name = "Shadow Force" 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.Description = "The user disappears, then strikes the target on the next turn. This move hits even if the target protects itself."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -19,7 +19,7 @@
Me.Description = "The user releases cotton-like spores that cling to the target, harshly reducing its Speed stat." Me.Description = "The user releases cotton-like spores that cling to the target, harshly reducing its Speed stat."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.AllAdjacentFoes
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End

View File

@ -14,7 +14,7 @@
Me.Power = 130 Me.Power = 130
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Leaf Storm" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 80 Me.Power = 80
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Seed Bomb" Me.Name = "Seed Bomb"
Me.Description = "The user slams a barrage of hard-shelled seeds on the target from above." Me.Description = "The user slams a barrage of hard-shelled seeds on the target from above."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Grass Namespace BattleSystem.Moves.Grass
Public Class Seedflare Public Class SeedFlare
Inherits Attack Inherits Attack
@ -14,7 +14,7 @@
Me.Power = 120 Me.Power = 120
Me.Accuracy = 85 Me.Accuracy = 85
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Seed Flare" 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.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 Me.CriticalChance = 1

View File

@ -60,11 +60,11 @@
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If 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 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 b = True Then
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = 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") BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Smart
Me.Name = "Worry Seed" 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.Description = "A seed that causes worry is planted on the target. It prevents sleep by making the target's Ability Insomnia."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 80 Me.Power = 80
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Dig" Me.Name = "Dig"
Me.Description = "The user burrows, then attacks on the second turn. It can also be used to exit dungeons. " Me.Description = "The user burrows, then attacks on the second turn. It can also be used to exit dungeons. "
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 90 Me.Power = 90
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Earth Power" 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.Description = "The user makes the ground under the target erupt with power. This may also lower the target's Sp. Def."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 65 Me.Power = 65
Me.Accuracy = 85 Me.Accuracy = 85
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cute
Me.Name = "Mud Bomb" 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.Description = "The user launches a hard-packed mud ball to attack. This may also lower the target's accuracy."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -15,7 +15,7 @@
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cute 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.Description = "Sand is hurled in the target's face, reducing its accuracy."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = True Me.UseEffectiveness = True
Me.ImmunityAffected = False Me.ImmunityAffected = True
Me.HasSecondaryEffect = False Me.HasSecondaryEffect = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
@ -53,6 +53,25 @@
'#End '#End
End Sub 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 Class
End Namespace End Namespace

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Acupressure" Me.Name = "Acupressure"
Me.Description = "The user applies pressure to stress points, sharply boosting one of its or its allies' stats." Me.Description = "The user applies pressure to stress points, sharply boosting one of its or its allies' stats."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 15 Me.Power = 15
Me.Accuracy = 85 Me.Accuracy = 85
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Barrage" Me.Name = "Barrage"
Me.Description = "Round objects are hurled at the target to strike two to five times in a row." Me.Description = "Round objects are hurled at the target to strike two to five times in a row."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -64,40 +64,50 @@
op = BattleScreen.OwnPokemon op = BattleScreen.OwnPokemon
End If End If
If p.Item Is Nothing Then Dim a As Boolean = False
Exit Sub Dim b As Boolean = False
End If
If p.Item.IsMegaStone = True Then If Not p.Item Is Nothing Then
Exit Sub a = True
End If If p.Item.IsMegaStone = True Then
If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then b = True
Exit Sub End If
End If If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then
If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then b = True
Exit Sub End If
End If If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then
If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then b = True
Exit Sub End If
End If 'Giratina
If p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then
Exit Sub b = True
End If End If
If p.Item.Name.ToLower().EndsWith(" mail") = True Then '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 Exit Sub
End If 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 Dim ItemID As Integer = p.Item.ID
p.OriginalItem = Item.GetItemByID(p.Item.ID) p.OriginalItem = Item.GetItemByID(p.Item.ID)
p.OriginalItem.AdditionalData = p.Item.AdditionalData 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 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) BattleScreen.FieldEffects.StolenItemIDs.Add(ItemID)
End If End If
op.Item = Item.GetItemByID(ItemID) op.Item = Item.GetItemByID(ItemID)
End If End If
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If End If
End Sub End Sub

View File

@ -26,7 +26,7 @@ Namespace BattleSystem.Moves.Normal
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = False
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True

View File

@ -14,7 +14,7 @@
Me.Power = 70 Me.Power = 70
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Pound" Me.Name = "Pound"
Me.Description = "The target is physically pounded with a long tail or a foreleg, etc." Me.Description = "The target is physically pounded with a long tail or a foreleg, etc."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 15 Me.Power = 15
Me.Accuracy = 85 Me.Accuracy = 85
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Double Slap" Me.Name = "Double Slap"
Me.Description = "The target is slapped repeatedly, back and forth, two to five times in a row." Me.Description = "The target is slapped repeatedly, back and forth, two to five times in a row."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 100 Me.Power = 100
Me.Accuracy = 75 Me.Accuracy = 75
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough Me.ContestCategory = ContestCategories.Cute
Me.Name = "Egg Bomb" Me.Name = "Egg Bomb"
Me.Description = "A large egg is hurled at the target with maximum force to inflict damage." Me.Description = "A large egg is hurled at the target with maximum force to inflict damage."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
Me.Power = 30 Me.Power = 30
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Smart
Me.Name = "Feint" Me.Name = "Feint"
Me.Description = "An attack that hits a target using Protect or Detect. This also lifts the effects of those moves." Me.Description = "An attack that hits a target using Protect or Detect. This also lifts the effects of those moves."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 150 Me.Power = 150
Me.Accuracy = 90 Me.Accuracy = 90
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Tough
Me.Name = "Giga Impact" 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.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 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 100 Me.Power = 100
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Judgement" 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.Description = "The user releases countless shots of light at the target. This move's type varies depending on the kind of Plate the user is holding."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -26,7 +26,7 @@ Namespace BattleSystem.Moves.Normal
'#SpecialDefinitions '#SpecialDefinitions
Me.MakesContact = False Me.MakesContact = False
Me.ProtectAffected = True Me.ProtectAffected = False
Me.MagicCoatAffected = True Me.MagicCoatAffected = True
Me.SnatchAffected = False Me.SnatchAffected = False
Me.MirrorMoveAffected = True Me.MirrorMoveAffected = True

View File

@ -64,15 +64,19 @@ Namespace BattleSystem.Moves.Normal
End If End If
If 1999 < itemID And itemID < 2016 Then If 1999 < itemID And itemID < 2016 Then
Return 60 Return 80
ElseIf 2034 < itemID And itemID < 2052 Then 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 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 ElseIf 2051 < itemID And itemID < 2064 Then
Return 80 Return 100
ElseIf 2064 < itemID And itemID < 2067 Then
Return 100
Else Else
Return 0 Return 0
End If End If
@ -89,6 +93,7 @@ Namespace BattleSystem.Moves.Normal
Return New Element(CType(p.Item, Items.Berry).Type) Return New Element(CType(p.Item, Items.Berry).Type)
End If End If
End If End If
Return New Element(Element.Types.Normal) Return New Element(Element.Types.Normal)
End Function End Function
@ -101,18 +106,22 @@ Namespace BattleSystem.Moves.Normal
End If End If
If p.Item Is Nothing Then If p.Item Is Nothing Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Return True Return True
Else Else
If p.Item.isBerry = False Then If p.Item.isBerry = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Return True Return True
End If End If
End If End If
If op.Ability.Name.ToLower() = "unnerve" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then 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 Return True
End If End If
If BattleScreen.FieldEffects.CanUseItem(Own) = False Or BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = False Then If BattleScreen.FieldEffects.CanUseItem(Own) = False Or BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Return True Return True
End If End If

View File

@ -19,7 +19,7 @@
Me.Description = "An attack that makes use of natures power. Its effects vary depending on the users environment." Me.Description = "An attack that makes use of natures power. Its effects vary depending on the users environment."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.Self Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0 Me.Priority = 0
Me.TimesToAttack = 1 Me.TimesToAttack = 1
'#End '#End

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Normal
Public Class Selfdestruct Public Class SelfDestruct
Inherits Attack Inherits Attack
@ -15,7 +15,7 @@
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty 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.Description = "The user attacks everything around it by causing an explosion. The user faints upon using this move."
Me.CriticalChance = 1 Me.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Normal
Public Class SmellingSalt Public Class SmellingSalts
Inherits Attack Inherits Attack
@ -14,8 +14,8 @@
Me.Power = 70 Me.Power = 70
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Smelling Salt" 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.Description = "This attack inflicts double damage on a target with paralysis. It also cures the target's paralysis, however."
Me.CriticalChance = 1 Me.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Normal
Public Class SmokeScreen Public Class Smokescreen
Inherits Attack Inherits Attack
@ -15,7 +15,7 @@
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart 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.Description = "The user releases an obscuring cloud of smoke or ink. It reduces the target's accuracy."
Me.CriticalChance = 0 Me.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Normal Namespace BattleSystem.Moves.Normal
Public Class Softboiled Public Class SoftBoiled
Inherits Attack Inherits Attack
@ -14,8 +14,8 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty Me.ContestCategory = ContestCategories.Cute
Me.Name = "Softboiled" 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.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.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -14,7 +14,7 @@
Me.Power = 50 Me.Power = 50
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Struggle" 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.Description = "An attack that is used in desperation only if the user has no PP. It also hurts the user slightly."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@
Me.Power = 0 Me.Power = 0
Me.Accuracy = 0 Me.Accuracy = 0
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Cute
Me.Name = "Substitute" Me.Name = "Substitute"
Me.Description = "The user makes a copy of itself using some of its HP. The copy serves as the users decoy." Me.Description = "The user makes a copy of itself using some of its HP. The copy serves as the users decoy."
Me.CriticalChance = 0 Me.CriticalChance = 0

View File

@ -15,7 +15,7 @@
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough 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.Description = "The target is gripped and squeezed from both sides to inflict damage."
Me.CriticalChance = 1 Me.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
Me.Power = 50 Me.Power = 50
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Weather Ball" Me.Name = "Weather Ball"
Me.Description = "An attack move that varies in power and type depending on the weather." Me.Description = "An attack move that varies in power and type depending on the weather."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Normal
Me.Power = 0 Me.Power = 0
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Tough
Me.Name = "Wring Out" 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.Description = "The user powerfully wrings the target. The more HP the target has, the greater the move's power."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -14,7 +14,7 @@
Me.Power = 120 Me.Power = 120
Me.Accuracy = 80 Me.Accuracy = 80
Me.Category = Categories.Physical Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Tough
Me.Name = "Gunk Shot" Me.Name = "Gunk Shot"
Me.Description = "The user shoots filthy garbage at the target to attack. It may also poison the target." Me.Description = "The user shoots filthy garbage at the target to attack. It may also poison the target."
Me.CriticalChance = 1 Me.CriticalChance = 1

View File

@ -55,7 +55,7 @@
Me.AIField1 = AIField.Damage Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CanPoison Me.AIField2 = AIField.CanPoison
Me.EffectChances.Add(30) Me.EffectChances.Add(50)
End Sub End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) 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