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
Exit Sub
End If
'Prevent turn count from resetting if battle just started
If BattleScreen.FieldEffects.OwnTurnCounts = 0 Then
HasSwitchedInOwn = False
End If
If BattleScreen.FieldEffects.OppTurnCounts = 0 Then
HasSwitchedInOpp = False
End If
TriggerItemEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, False)
'Transform Aegislash with Stance Change ability.
If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then
If p.AdditionalData = "" Then
@ -1169,7 +1181,7 @@
If p.Status = Pokemon.StatusProblems.Freeze Then
If Core.Random.Next(0, 100) < 20 Then
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thrawed out.", "own defrost")
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thawed out.", "own defrost")
Else
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!"))
@ -1221,7 +1233,7 @@
truantTurn = BattleScreen.FieldEffects.OppTruantRound
End If
If truantTurn = 1 Then
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " loafes around."))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is loafing around."))
Exit Sub
End If
End If
@ -1297,7 +1309,7 @@
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is confused!"))
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
If Core.Random.Next(0, 3) = 0 Then
Dim a As Attack = New ConfusionAttack()
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
@ -1603,7 +1615,7 @@
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False
If oppHealblock > 0 Then
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Volt Absorb!", "healblock")
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Volt Absorb!", "healblock")
Else
If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Volt Absorb made " & moveUsed.Name & " useless!"))
@ -1628,7 +1640,7 @@
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False
If oppHealblock > 0 Then
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Water Absorb!", "healblock")
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Water Absorb!", "healblock")
Else
If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Water Absorb made " & moveUsed.Name & " useless!"))
@ -1642,7 +1654,7 @@
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
moveWorks = False
If oppHealblock > 0 Then
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Dry Skin!", "healblock")
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Dry Skin!", "healblock")
Else
If op.HP = op.MaxHP Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Dry Skin made " & moveUsed.Name & " useless!"))
@ -1705,6 +1717,13 @@
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " prevents damage with its Bulletproof ability!"))
End If
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
If moveUsed.Priority > 0 Then
moveWorks = False
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " surrounds itself with Psychic Terrain!"))
End If
End If
If moveWorks = True Then
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter
@ -1793,7 +1812,7 @@
Dim moveList As String() = {"endeavor",
"fling",
"explosion",
"selfdestruct",
"self-destruct",
"final gambit",
"bounce",
"dig",
@ -2007,7 +2026,7 @@
Dim PBmoveList As String() = {"secret power",
"bug bite",
"pluck",
"smelling salt",
"smelling salts",
"wake-up slap",
"knock off",
"relic song",
@ -2151,6 +2170,10 @@
If moveUsed.MakesContact = True Then
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey")
End If
Case "tangling hair"
If moveUsed.MakesContact = True Then
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Tangling Hair slowed down " & p.GetDisplayName() & "!", "tangling hair")
End If
Case "weak armor"
If moveUsed.Category = Attack.Categories.Physical Then
RaiseStat(Not own, Not own, BattleScreen, "Speed", 2, "Weak Armor causes the Speed to increase!", "weakarmor")
@ -2259,6 +2282,22 @@
End If
End If
End If
Case "kee"
If moveUsed.Category = Attack.Categories.Physical Then
If AllDamage > 0 Then
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:kee") = True Then
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Defense", 1, "", "berry:kee")
End If
End If
End If
Case "maranga"
If moveUsed.Category = Attack.Categories.Special Then
If AllDamage > 0 Then
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:maranga") = True Then
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Special Defense", 1, "", "berry:maranga")
End If
End If
End If
End Select
End If
End If
@ -2485,6 +2524,16 @@
Return False
End If
If own = False Then
If BattleScreen.FieldEffects.OppTurnCounts > BattleScreen.FieldEffects.OwnTurnCounts Then
Return False
End If
Else
If BattleScreen.FieldEffects.OwnTurnCounts > BattleScreen.FieldEffects.OppTurnCounts Then
Return False
End If
End If
If p.HasVolatileStatus(Pokemon.VolatileStatus.Flinch) = True Then
Return False
End If
@ -2541,6 +2590,11 @@
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the burn."))
Return False
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2637,6 +2691,11 @@
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the freeze."))
Return False
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2749,6 +2808,11 @@
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the paralysis."))
Return False
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
@ -2831,6 +2895,16 @@
Return False
End If
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The electricity prevented the sleep."))
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the sleep."))
Return False
End If
Dim SleepTurns As Integer = turnsPreset
If SleepTurns < 0 Then
SleepTurns = Core.Random.Next(1, 4)
@ -2973,6 +3047,11 @@
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the poison."))
Return False
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
@ -3083,6 +3162,11 @@
Return False
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the confusion."))
Return False
End If
Dim confusionTurns As Integer = Core.Random.Next(1, 5)
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
@ -4050,9 +4134,9 @@
Select Case message
Case "" 'Print default message only
If cause.StartsWith("berry:") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
End If
Case "-1" 'Print no message at all
'Do nothing
@ -4060,9 +4144,9 @@
BattleScreen.BattleQuery.Add(New TextQueryObject(message))
If cause.StartsWith("berry:") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
End If
End Select
End If
@ -4206,6 +4290,38 @@
ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought")
Case "air lock"
ChangeWeather(own, own, BattleWeather.WeatherTypes.Clear, 0, BattleScreen, "", "airlock")
Case "electric surge"
If .FieldEffects.ElectricTerrain <= 0 Then
.FieldEffects.ElectricTerrain = turns
.FieldEffects.GrassyTerrain = 0
.FieldEffects.PsychicTerrain = 0
.FieldEffects.MistyTerrain = 0
.BattleQuery.Add(New TextQueryObject("An electric current runs across the battlefield!"))
End If
Case "grassy surge"
If .FieldEffects.GrassyTerrain <= 0 Then
.FieldEffects.ElectricTerrain = 0
.FieldEffects.GrassyTerrain = turns
.FieldEffects.PsychicTerrain = 0
.FieldEffects.MistyTerrain = 0
.BattleQuery.Add(New TextQueryObject("Grass grew to cover the battlefield!"))
End If
Case "misty surge"
If .FieldEffects.MistyTerrain <= 0 Then
.FieldEffects.ElectricTerrain = 0
.FieldEffects.GrassyTerrain = 0
.FieldEffects.PsychicTerrain = 0
.FieldEffects.MistyTerrain = turns
.BattleQuery.Add(New TextQueryObject("Mist swirls around the battlefield!"))
End If
Case "psychic surge"
If .FieldEffects.PsychicTerrain <= 0 Then
.FieldEffects.ElectricTerrain = 0
.FieldEffects.GrassyTerrain = 0
.FieldEffects.PsychicTerrain = turns
.FieldEffects.MistyTerrain = 0
.BattleQuery.Add(New TextQueryObject("The battlefield got weird!"))
End If
Case "download"
If op.Defense < op.SpDefense Then
RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download")
@ -4365,6 +4481,62 @@
End If
End With
End Sub
Public Sub TriggerItemEffect(ByVal BattleScreen As BattleScreen, ByVal own As Boolean)
With BattleScreen
Dim p, op As Pokemon
If own Then
p = .OwnPokemon
op = .OppPokemon
Else
p = .OppPokemon
op = .OwnPokemon
End If
If Not p.Item Is Nothing Then
If .FieldEffects.CanUseItem(own) = True And .FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
Select Case p.Item.Name.ToLower()
Case "electric seed"
If .FieldEffects.ElectricTerrain > 0 And p.StatDefense < 6 Then
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Electric Seed activated!"))
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:electricseed")
End If
End If
Case "grassy seed"
If .FieldEffects.GrassyTerrain > 0 And p.StatDefense < 6 Then
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Grassy Seed activated!"))
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:grassyseed")
End If
End If
Case "misty seed"
If .FieldEffects.MistyTerrain > 0 And p.StatSpDefense < 6 Then
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Misty Seed activated!"))
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:mistyseed")
End If
End If
Case "psychic seed"
If .FieldEffects.PsychicTerrain > 0 And p.StatSpDefense < 6 Then
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Psychic Seed activated!"))
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:psychicseed")
End If
End If
Case "berserk gene"
If p.StatAttack <> 6 OrElse p.StatSpAttack <> 6 Then
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
InflictConfusion(own, own, BattleScreen, p.GetDisplayName() & " went berserk due to the Berserk Gene!", "item:berserkgene")
RaiseStat(own, own, BattleScreen, "Attack", 1, "", "item:berserkgene")
RaiseStat(own, own, BattleScreen, "Special Attack", 1, "", "item:berserkgene")
End If
End If
End Select
End If
End If
End With
End Sub
Private Sub ApplyForecast(ByVal BattleScreen As BattleScreen)
With BattleScreen
Dim p As Pokemon = .OwnPokemon
@ -4522,6 +4694,32 @@
End If
End If
'Terrains
If .FieldEffects.ElectricTerrain > 0 Then
.FieldEffects.ElectricTerrain -= 1
If .FieldEffects.ElectricTerrain = 0 Then
.BattleQuery.Add(New TextQueryObject("The electricity disappeared from the battlefield."))
End If
End If
If .FieldEffects.GrassyTerrain > 0 Then
.FieldEffects.GrassyTerrain -= 1
If .FieldEffects.GrassyTerrain = 0 Then
.BattleQuery.Add(New TextQueryObject("The grass disappeared from the battlefield."))
End If
End If
If .FieldEffects.MistyTerrain > 0 Then
.FieldEffects.MistyTerrain -= 1
If .FieldEffects.MistyTerrain = 0 Then
.BattleQuery.Add(New TextQueryObject("The mist disappeared from the battlefield."))
End If
End If
If .FieldEffects.PsychicTerrain > 0 Then
.FieldEffects.PsychicTerrain -= 1
If .FieldEffects.PsychicTerrain = 0 Then
.BattleQuery.Add(New TextQueryObject("The weirdness disappeared from the battlefield."))
End If
End If
'Water Sport
If .FieldEffects.WaterSport > 0 Then
.FieldEffects.WaterSport -= 1
@ -4656,8 +4854,10 @@
'Turn count since battle started
.FieldEffects.OwnTurnCounts += 1
'Turn count since pokemon switched in(currently used for Fake Out only)
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
.FieldEffects.OwnPokemonTurns += 1
'Reset turn count for pokemon switching in
If HasSwitchedInOwn Then
.FieldEffects.OwnPokemonTurns = 0
HasSwitchedInOwn = False
@ -4686,17 +4886,17 @@
End If
If .FieldEffects.OwnTaunt > 0 Then
.FieldEffects.OwnTaunt = 0
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
If .FieldEffects.OwnEncore > 0 Then
.FieldEffects.OwnEncore = 0
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
If .FieldEffects.OwnTorment > 0 Then
.FieldEffects.OwnTorment = 0
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
'Remove disable
@ -4754,6 +4954,8 @@
If Me.PlayerWonBattle(BattleScreen) = True Then
Exit Sub
End If
TriggerItemEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, False)
ChangeCameraAngel(0, True, BattleScreen)
If IsAfterFaint = True Then
Exit Sub
@ -4840,12 +5042,19 @@
If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then
If .OwnPokemon.HP > 0 Then
Dim hailHP As Integer = CInt(.OwnPokemon.MaxHP / 16)
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "sandstorm")
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "hail")
End If
End If
End If
End If
'Grassy Terrain
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
If .OwnPokemon.HP > 0 Then
GainHP(CInt(.OwnPokemon.MaxHP / 16), True, True, BattleScreen, .OwnPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
End If
End If
If .OwnPokemon.HP > 0 Then
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
Dim HPMessage As String = ""
@ -5219,21 +5428,21 @@
If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt
.FieldEffects.OwnTaunt -= 1
If .FieldEffects.OwnTaunt = 0 Then
.BattleQuery.Add(New TextQueryObject("The own taunt effect wore off"))
.BattleQuery.Add(New TextQueryObject("The Taunt effect wore off."))
End If
End If
If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise
.FieldEffects.OwnMagnetRise -= 1
If .FieldEffects.OwnMagnetRise = 0 Then
.BattleQuery.Add(New TextQueryObject("Own Magnet Rise effect faded."))
.BattleQuery.Add(New TextQueryObject("The Magnet Rise effect faded."))
End If
End If
If .FieldEffects.OwnHealBlock > 0 Then 'Healblock
.FieldEffects.OwnHealBlock -= 1
If .FieldEffects.OwnHealBlock = 0 Then
.BattleQuery.Add(New TextQueryObject("The effect of the own heal block faded."))
.BattleQuery.Add(New TextQueryObject("The effects of Heal Block faded."))
End If
End If
@ -5283,7 +5492,7 @@
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
If Not .OwnPokemon.Item Is Nothing Then
If .OwnPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
InflictBurn(True, True, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
InflictBurn(True, True, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
End If
End If
End If
@ -5291,7 +5500,7 @@
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
If Not .OwnPokemon.Item Is Nothing Then
If .OwnPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
InflictPoison(True, True, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
InflictPoison(True, True, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
End If
End If
End If
@ -5399,8 +5608,10 @@
'Turn count since battle started
.FieldEffects.OppTurnCounts += 1
'Turn count (Currently used for Fake Out only)
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
.FieldEffects.OppPokemonTurns += 1
'Reset turn count for pokemon switching in
If HasSwitchedInOpp Then
.FieldEffects.OppPokemonTurns = 0
HasSwitchedInOpp = False
@ -5429,17 +5640,17 @@
End If
If .FieldEffects.OppTaunt > 0 Then
.FieldEffects.OppTaunt = 0
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
If .FieldEffects.OppEncore > 0 Then
.FieldEffects.OppEncore = 0
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
If .FieldEffects.OppTorment > 0 Then
.FieldEffects.OppTorment = 0
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
usedMentalHerb = True
End If
'Remove disable
@ -5496,6 +5707,8 @@
If IsAfterFaint = True Then
Exit Sub
End If
TriggerItemEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, False)
With BattleScreen
If .FieldEffects.OppReflect > 0 Then 'Stop reflect
.FieldEffects.OppReflect -= 1
@ -5584,6 +5797,13 @@
End If
End If
'Grassy Terrain
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
If .OppPokemon.HP > 0 Then
GainHP(CInt(.OppPokemon.MaxHP / 16), False, False, BattleScreen, .OppPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
End If
End If
If .OppPokemon.HP > 0 Then
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
Dim HPMessage As String = ""
@ -5958,7 +6178,7 @@
If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt
.FieldEffects.OppTaunt -= 1
If .FieldEffects.OppTaunt = 0 Then
.BattleQuery.Add(New TextQueryObject("The opponent's taunt effect wore off"))
.BattleQuery.Add(New TextQueryObject("The opponent's Taunt effect wore off"))
End If
End If
@ -5972,7 +6192,7 @@
If .FieldEffects.OppHealBlock > 0 Then 'Healblock
.FieldEffects.OppHealBlock -= 1
If .FieldEffects.OppHealBlock = 0 Then
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's heal block faded."))
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's Heal Block faded."))
End If
End If
@ -5998,7 +6218,7 @@
.FieldEffects.OppFutureSightTurns -= 1
If .FieldEffects.OppFutureSightTurns = 0 Then
If .OwnPokemon.HP > 0 Then
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & "took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
Else
.BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!"))
End If
@ -6021,7 +6241,7 @@
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then
If Not .OppPokemon.Item Is Nothing Then
If .OppPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
InflictBurn(False, False, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
InflictBurn(False, False, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
End If
End If
End If
@ -6029,7 +6249,7 @@
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Poison And .OppPokemon.Status <> Pokemon.StatusProblems.BadPoison Then
If Not .OppPokemon.Item Is Nothing Then
If .OppPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
InflictPoison(False, False, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
InflictPoison(False, False, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
End If
End If
End If
@ -6176,6 +6396,7 @@
.OwnSleepTurns = 0
.OwnTruantRound = 0
.OwnTaunt = 0
.OwnSmacked = 0
.OwnRageCounter = 0
.OwnUproar = 0
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
@ -6376,22 +6597,7 @@
Dim spikeAffected As Boolean = True
Dim rockAffected As Boolean = True
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
spikeAffected = False
End If
If .FieldEffects.Gravity > 0 Then
spikeAffected = True
Else
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
spikeAffected = False
End If
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
spikeAffected = True
End If
End If
End If
spikeAffected = BattleScreen.FieldEffects.IsGrounded(True, BattleScreen)
'Spikes
If spikeAffected = True Then
@ -6413,7 +6619,7 @@
If spikeAffected = True Then
If .FieldEffects.OppStickyWeb > 0 Then
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a sticky web!", "sticky web")
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a Sticky Web!", "stickyweb")
End If
@ -6461,6 +6667,7 @@
End If
TriggerAbilityEffect(BattleScreen, True)
TriggerItemEffect(BattleScreen, True)
If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then
.FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4)
@ -6470,7 +6677,7 @@
BattleScreen.FieldEffects.OwnHealingWish = False
If .OwnPokemon.HP < .OwnPokemon.MaxHP Or .OwnPokemon.Status <> Pokemon.StatusProblems.None Then
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The healing wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The Healing Wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
CureStatusProblem(True, True, BattleScreen, "", "move:healingwish")
End If
End If
@ -6515,6 +6722,7 @@
.OppSleepTurns = 0
.OppTruantRound = 0
.OppTaunt = 0
.OppSmacked = 0
.OppRageCounter = 0
.OppUproar = 0
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
@ -6705,22 +6913,7 @@
Dim spikeAffected As Boolean = True
Dim rockAffected As Boolean = True
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" Then
spikeAffected = False
End If
If .FieldEffects.Gravity > 0 Then
spikeAffected = True
Else
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
spikeAffected = False
End If
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
spikeAffected = True
End If
End If
End If
spikeAffected = BattleScreen.FieldEffects.IsGrounded(False, BattleScreen)
If spikeAffected = True Then
If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then
@ -6740,7 +6933,7 @@
If spikeAffected = True Then
If .FieldEffects.OwnStickyWeb > 0 Then
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a sticky web!", "sticky web")
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a Sticky Web!", "stickyweb")
End If
@ -6785,6 +6978,7 @@
End If
TriggerAbilityEffect(BattleScreen, False)
TriggerItemEffect(BattleScreen, False)
If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then
.FieldEffects.OppSleepTurns = Core.Random.Next(1, 4)
@ -6794,7 +6988,7 @@
BattleScreen.FieldEffects.OppHealingWish = False
If .OppPokemon.HP < .OppPokemon.MaxHP Or .OppPokemon.Status <> Pokemon.StatusProblems.None Then
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The healing wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The Healing Wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
CureStatusProblem(False, False, BattleScreen, "", "move:healingwish")
End If
End If

View File

@ -33,6 +33,12 @@
If moveName = "light screen" Or moveName = "reflect" Then
turns = 8
End If
Case "terrain extender"
If moveName = "electric terrain" Or moveName = "grassy terrain" Or moveName = "misty terrain" Or moveName = "psychic terrain" Then
turns = 8
ElseIf ability = "electric surge" Or ability = "grassy surge" Or ability = "misty surge" Or ability = "psychic surge" Then
turns = 8
End If
End Select
End If
Return turns
@ -272,6 +278,14 @@
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then
speed *= 2
End If
Case "slush rush"
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Hailstorm Then
speed *= 2
End If
Case "surge surfer"
If BattleScreen.FieldEffects.ElectricTerrain > 0 Then
speed *= 2
End If
End Select
Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge
@ -291,11 +305,11 @@
If p.Ability.Name.ToLower() = "slow start" Then
If own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
speed = CInt(speed / 2)
End If
Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
speed = CInt(speed / 2)
End If
End If
@ -371,11 +385,11 @@
If p.Ability.Name.ToLower() = "slow start" Then
If own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
attack = CInt(attack / 2)
End If
Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
attack = CInt(attack / 2)
End If
End If
@ -491,7 +505,7 @@
result = INIT * ACCM
If Not op.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(Not own) = True Then
If op.Item.Name.ToLower() = "brightpowder" Or op.Item.Name.ToLower() = "lax incense" Then
If op.Item.Name.ToLower() = "bright powder" Or op.Item.Name.ToLower() = "lax incense" Then
result *= 0.9F
End If
End If
@ -674,31 +688,46 @@
op = BattleScreen.OwnPokemon
End If
If p.Type1.Type = Element.Types.Ghost Or p.Type2.Type = Element.Types.Ghost Then
Return True
End If
If p.Ability.Name.ToLower() = "run away" Then
Return True
End If
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" Then
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "smoke ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
Return True
End If
End If
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" And op.HP > 0 Then
Return False
End If
If op.Ability.Name.ToLower() = "arena trap" Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
If own = False Then
magnetRise = BattleScreen.FieldEffects.OppMagnetRise
End If
If p.Type1.Type <> Element.Types.Flying And p.Type2.Type <> Element.Types.Flying And p.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
Return False
End If
If op.Ability.Name.ToLower() = "arena trap" And op.HP > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
Return False
End If
If op.Ability.Name.ToLower() = "magnet pull" Then
If op.Ability.Name.ToLower() = "magnet pull" And op.HP > 0 Then
If p.Type1.Type = Element.Types.Steel Or p.Type2.Type = Element.Types.Steel Then
Return False
End If
End If
With BattleScreen.FieldEffects
If own = True Then
If .OwnWrap > 0 Or .OwnBind > 0 Or .OwnClamp > 0 Or .OwnFireSpin > 0 Or .OwnMagmaStorm > 0 Or .OwnSandTomb > 0 Or .OwnWhirlpool > 0 Or .OwnInfestation > 0 Then
Return False
End If
Else
If .OppWrap > 0 Or .OppBind > 0 Or .OppClamp > 0 Or .OppFireSpin > 0 Or .OppMagmaStorm > 0 Or .OppSandTomb > 0 Or .OppWhirlpool > 0 Or .OppInfestation > 0 Then
Return False
End If
End If
End With
Dim ingrain As Integer = BattleScreen.FieldEffects.OwnIngrain
If own = False Then
ingrain = BattleScreen.FieldEffects.OppIngrain
@ -710,13 +739,6 @@
If p.Speed > op.Speed Then
Return True
Else
If Not p.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(own) = True Then
If p.Item.Name.ToLower() = "smoke ball" Then
BattleScreen.FieldEffects.RunTries += 1
Return True
End If
End If
Dim A As Integer = p.Speed
Dim B As Integer = op.Speed
If B = 0 Then
@ -772,37 +794,84 @@
'Sheer Cold
If move.ID = 329 Then
If op.IsType(Element.Types.Ice) Then
effectiveness = 0
End If
End If
Dim _targetHasIronBall As Boolean = False
If Not op.Item Is Nothing Then
If op.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
_targetHasIronBall = True
End If
End If
If op.Ability.Name.ToLower() = "levitate" And move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.Gravity = 0 And _targetHasIronBall = False Then
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
effectiveness = 0.0F
End If
End If
Dim ingrain As Integer = BattleScreen.FieldEffects.OppIngrain
If own = False Then
ingrain = BattleScreen.FieldEffects.OwnIngrain
Dim digHit As Boolean = False
Dim airHit As Boolean = False
Dim regHit As Boolean = False
'Grounded condition
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = False Then
Dim targetDig As Boolean = False
Dim targetAir As Boolean = False
With BattleScreen.FieldEffects
If own = True Then
If .OppDigCounter > 0 Then
targetDig = True
End If
If .OppFlyCounter > 0 Or .OppBounceCounter > 0 Or .OppSkyDropCounter > 0 Then
targetAir = True
End If
Else
If .OwnDigCounter > 0 Then
targetDig = True
End If
If .OwnFlyCounter > 0 Or .OwnBounceCounter > 0 Or .OwnSkyDropCounter > 0 Then
targetAir = True
End If
End If
End With
Select Case move.ID
Case 89, 90, 222 'Earthquake, Fissure, Magnitude
effectiveness = 0.0F
If targetDig = True Then
digHit = True
End If
Case 614 'Thousand Arrows
airHit = True
If targetAir = True Then
If own = True Then
BattleScreen.FieldEffects.OppFlyCounter = 0
BattleScreen.FieldEffects.OppBounceCounter = 0
Else
BattleScreen.FieldEffects.OwnFlyCounter = 0
BattleScreen.FieldEffects.OwnBounceCounter = 0
End If
End If
Case Else
effectiveness = 0.0F
End Select
ElseIf move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
regHit = True
End If
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground Then
If BattleScreen.FieldEffects.Gravity = 0 And ingrain = 0 And _targetHasIronBall = False Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
If own = False Then
magnetRise = BattleScreen.FieldEffects.OwnMagnetRise
End If
If magnetRise > 0 Then
effectiveness = 0.0F
End If
'Grounded hit effectiveness
If digHit = True Or airHit = True Or regHit = True Then
effectiveness = 1.0F
If op.IsType(Element.Types.Electric) Then
effectiveness *= 2
End If
If op.IsType(Element.Types.Fire) Then
effectiveness *= 2
End If
If op.IsType(Element.Types.Poison) Then
effectiveness *= 2
End If
If op.IsType(Element.Types.Rock) Then
effectiveness *= 2
End If
If op.IsType(Element.Types.Steel) Then
effectiveness *= 2
End If
If op.IsType(Element.Types.Bug) Then
effectiveness /= 2
End If
If op.IsType(Element.Types.Grass) Then
effectiveness /= 2
End If
End If
@ -832,7 +901,6 @@
End If
End If
If op.IsType(Element.Types.Ghost) = True Then
Dim CanHitGhost = False
Dim Foresight As Integer = 0
@ -1018,28 +1086,37 @@
Return True
End If
If BattleScreen.OwnPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OwnPokemon.Type2.Type = Element.Types.Ghost Then
Return True
End If
With BattleScreen
If Not .OwnPokemon.Item Is Nothing Then
If .OwnPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(True) = True And .FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
Return True
End If
End If
End With
If BattleScreen.IsRemoteBattle AndAlso BattleScreen.IsPVPBattle AndAlso Not BattleScreen.IsHost Then
If BattleScreen.FieldEffects.ClientCanSwitch = False Then
Return False
End If
End If
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" Then
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OppPokemon.HP > 0 Then
Return False
End If
If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then
Return False
End If
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
If BattleScreen.OwnPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
Return False
End If
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OppPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
Return False
End If
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True Then
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OppPokemon.HP > 0 Then
Return False
End If
@ -1056,22 +1133,32 @@
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then
Return True
End If
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" Then
If BattleScreen.OppPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OppPokemon.Type2.Type = Element.Types.Ghost Then
Return True
End If
With BattleScreen
If Not .OppPokemon.Item Is Nothing Then
If .OppPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
Return True
End If
End If
End With
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OwnPokemon.HP > 0 Then
Return False
End If
If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then
Return False
End If
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" Then
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
If BattleScreen.OppPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
Return False
End If
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OwnPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
Return False
End If
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True Then
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OwnPokemon.HP > 0 Then
Return False
End If
@ -1308,10 +1395,6 @@
If Attack.IsJawMove = True Then
UA = 1.5F
End If
Case "fur coat"
If Attack.Category = Attack.Categories.Physical Then
UA = 0.5F
End If
Case "refrigerate"
If Attack.Type.Type = Element.Types.Normal Then
UA = 1.2F
@ -1436,11 +1519,11 @@
AM = 1.5F
Case "slow start"
If Own = True Then
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
AM = 0.5F
End If
Else
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
AM = 0.5F
End If
End If
@ -1580,7 +1663,7 @@
DSM = 1.0F
End If
If Attack.Name.ToLower() = "selfdestruct" Or Attack.Name.ToLower() = "explosion" Then
If Attack.Name.ToLower() = "self-destruct" Or Attack.Name.ToLower() = "explosion" Then
SX = 1.0F
End If
@ -1590,6 +1673,10 @@
If Op.Number = 132 Then
DMod = 1.5F
End If
Case "eviolite"
If Op.IsFullyEvolved = False Then
DMod = 1.5F
End If
End Select
End If
@ -1600,6 +1687,15 @@
End If
End If
End If
If Op.Ability.Name.ToLower() = "fur coat" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
DMod = 2.0F
End If
If BattleScreen.FieldEffects.GrassyTerrain > 0 And Op.Ability.Name.ToLower() = "grass pelt" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
DMod = 1.5F
End If
ElseIf Attack.Category = Attack.Categories.Special Then
DStat = Attack.GetUseDefenseStat(Op)
DSM = GetMultiplierFromStat(Op.StatSpDefense)
@ -1719,6 +1815,18 @@
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then
SR = 1.5F
End If
Case Element.Types.Electric
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
SR = 1.5F
End If
Case Element.Types.Grass
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
SR = 1.5F
End If
Case Element.Types.Psychic
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
SR = 1.5F
End If
End Select
If p.Ability.Name.ToLower() = "flash fire" Then
@ -1904,6 +2012,12 @@
TRB = 0.5F
End If
End If
Case "roseli"
If Attack.Type.Type = Element.Types.Fairy Then
If BattleScreen.Battle.RemoveHeldItem(Not Own, Not Own, BattleScreen, "The Roseli Berry weakened the effect of " & Attack.Name & " on " & Op.GetDisplayName() & "!", "berry:roseli") = True Then
TRB = 0.5F
End If
End If
End Select
End If
End If
@ -1935,6 +2049,19 @@
damage = CInt(damage / 2)
End If
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
If Attack.Type.Type = Element.Types.Dragon Then
damage = CInt(damage / 2)
End If
End If
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
'Earthquake, Bulldoze, Magnitude
If Attack.ID = 89 Or Attack.ID = 523 Or Attack.ID = 222 Then
damage = CInt(damage / 2)
End If
End If
If Attack.IsOneHitKOMove = True Then
damage = Op.HP
End If

View File

@ -50,7 +50,41 @@
If y > -1 Then
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(22, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 42), Color.Black)
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
End If
End Sub
Private Sub DrawTerrain(ByVal BattleScreen As BattleScreen)
Dim y As Integer = -1
Dim x As Integer = 0
Dim t As String = ""
With BattleScreen.FieldEffects
If .ElectricTerrain > 0 Then
x = 352
y = 0
t = "Electric Terrain"
End If
If .GrassyTerrain > 0 Then
x = 352
y = 34
t = "Grassy Terrain"
End If
If .MistyTerrain > 0 Then
x = 352
y = 68
t = "Misty Terrain"
End If
If .PsychicTerrain > 0 Then
x = 352
y = 102
t = "Psychic Terrain"
End If
End With
If y > -1 Then
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(222, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(310 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
End If
End Sub
@ -268,6 +302,7 @@
End Select
DrawWeather(BattleScreen)
DrawTerrain(BattleScreen)
End If
End Sub

View File

@ -8,6 +8,10 @@
Public OwnFaint As Boolean = False
Public OppFaint As Boolean = False
'Used for moves like U-turn (self-switch)
Public OwnSelfSwitch As Boolean = False
Public OppSelfSwitch As Boolean = False
'Used for lead picking in PvP Battles
Public Shared OwnLeadIndex As Integer = 0
Public Shared OppLeadIndex As Integer = 0
@ -284,7 +288,7 @@
q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
@ -428,7 +432,7 @@
q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
@ -680,7 +684,7 @@
q3.PassThis = True
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)

View File

@ -10,13 +10,20 @@
Public OwnTruantRound As Integer = 0 'Truant move counter
Public OwnImprison As Integer = 0 'Imprison move counter
Public OwnTaunt As Integer = 0 'Taunt move counter
Public OwnTelekinesis As Integer = 0 'Telekinesis move counter
Public OwnRageCounter As Integer = 0 'Rage move counter
Public OwnUproar As Integer = 0 'Uproar move counter
Public OwnFocusEnergy As Integer = 0 'Focus energy move counter
Public OwnEndure As Integer = 0 'Endure move counter
Public OwnProtectCounter As Integer = 0 'Protect move counter
Public OwnKingsShieldCounter As Integer = 0 'Kings Shield move counter
Public OwnSpikyShieldCounter As Integer = 0 'Spiky Shield move counter
Public OwnDetectCounter As Integer = 0 'Detect move counter
Public OwnBanefulBunkerCounter As Integer = 0 'Baneful Bunker move counter
Public OwnCraftyShieldCounter As Integer = 0 'Crafty Shield move counter
Public OwnMatBlockCounter As Integer = 0 'Mat Block move counter
Public OwnWideGuardCounter As Integer = 0 'Wide Guard move counter
Public OwnQuickGuardCounter As Integer = 0 'Quick Guard move counter
Public OwnIngrain As Integer = 0 'Ingrain move counter
Public OwnSubstitute As Integer = 0 'Substitute HP left
Public OwnLuckyChant As Integer = 0 'Lucky chant move counter
@ -92,6 +99,7 @@
Public OwnUsedMoves As New List(Of Integer)
Public OwnMagicCoat As Integer = 0
Public OwnConsumedItem As Item = Nothing
Public OwnSmacked As Integer = 0 'Smack Down effect condition
Public OwnPursuit As Boolean = False
Public OwnMegaEvolved As Boolean = False
Public OwnRoostUsed As Boolean = False 'If roost got used, this is true and will get set false and revert types at the end of a turn.
@ -134,13 +142,20 @@
Public OppImprison As Integer = 0
Public OppHealBlock As Integer = 0
Public OppTaunt As Integer = 0
Public OppTelekinesis As Integer = 0
Public OppRageCounter As Integer = 0
Public OppUproar As Integer = 0
Public OppFocusEnergy As Integer = 0
Public OppEndure As Integer = 0
Public OppProtectCounter As Integer = 0
Public OppKingsShieldCounter As Integer = 0
Public OppSpikyShieldCounter As Integer = 0
Public OppDetectCounter As Integer = 0
Public OppBanefulBunkerCounter As Integer = 0
Public OppCraftyShieldCounter As Integer = 0
Public OppMatBlockCounter As Integer = 0
Public OppWideGuardCounter As Integer = 0
Public OppQuickGuardCounter As Integer = 0
Public OppIngrain As Integer = 0
Public OppSubstitute As Integer = 0
Public OppSafeguard As Integer = 0
@ -204,6 +219,7 @@
Public OppPokemonDamagedLastTurn As Boolean = False
Public OppMagicCoat As Integer = 0
Public OppConsumedItem As Item = Nothing
Public OppSmacked As Integer = 0
Public OppPursuit As Boolean = False
Public OppMegaEvolved As Boolean = False
Public OppRoostUsed As Boolean = False
@ -253,6 +269,11 @@
Public Rounds As Integer = 0
Public AmuletCoin As Integer = 0
Public ElectricTerrain As Integer = 0
Public GrassyTerrain As Integer = 0
Public MistyTerrain As Integer = 0
Public PsychicTerrain As Integer = 0
'Special stuff
Public RunTries As Integer = 0
Public UsedPokemon As New List(Of Integer)
@ -325,6 +346,63 @@
Return True
End Function
Public Function IsGrounded(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Boolean
Dim p As Pokemon = BattleScreen.OwnPokemon
Dim grounded As Boolean = True
If own = True Then
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
grounded = False
End If
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OwnSmacked > 0 Or BattleScreen.FieldEffects.OwnIngrain > 0 Then
grounded = True
Else
If BattleScreen.FieldEffects.OwnTelekinesis > 0 Or BattleScreen.FieldEffects.OwnMagnetRise > 0 Then
grounded = False
End If
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
grounded = False
End If
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
grounded = True
End If
End If
End If
If OwnBounceCounter > 0 Or OwnDigCounter > 0 Or OwnDiveCounter > 0 Or OwnFlyCounter > 0 Or OwnPhantomForceCounter > 0 Or OwnShadowForceCounter > 0 Or OwnSkyDropCounter > 0 Then
grounded = False
End If
Else
p = BattleScreen.OppPokemon
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
grounded = False
End If
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OppSmacked > 0 Or BattleScreen.FieldEffects.OppIngrain > 0 Then
grounded = True
Else
If BattleScreen.FieldEffects.OppTelekinesis > 0 Or BattleScreen.FieldEffects.OppMagnetRise > 0 Then
grounded = False
End If
If Not p.Item Is Nothing Then
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
grounded = False
End If
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
grounded = True
End If
End If
End If
If OppBounceCounter > 0 Or OppDigCounter > 0 Or OppDiveCounter > 0 Or OppFlyCounter > 0 Or OppPhantomForceCounter > 0 Or OppShadowForceCounter > 0 Or OppSkyDropCounter > 0 Then
grounded = False
End If
End If
If grounded = True Then
Return True
Else
Return False
End If
End Function
Public Function GetPokemonWeight(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Single
Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon

View File

@ -117,6 +117,10 @@
''' </summary>
Public Taunted As Integer = 0
''' <summary>
''' Telekinesis move counter, if true, Pokémon will always be hit.
''' </summary>
Public Telekinesis As Integer = 0
''' <summary>
''' If the Pokémon is affected by Embargo.
''' </summary>
Public Embargo As Integer = 0
@ -353,6 +357,30 @@
''' King's Shield move counter.
''' </summary>
Public KingsShield As Integer = 0
''' <summary>
''' Spiky Shield move counter.
''' </summary>
Public SpikyShield As Integer = 0
''' <summary>
''' Baneful Bunker move counter.
''' </summary>
Public BanefulBunker As Integer = 0
''' <summary>
''' Crafty Shield move counter.
''' </summary>
Public CraftyShield As Integer = 0
''' <summary>
''' Mat Block move counter.
''' </summary>
Public MatBlock As Integer = 0
''' <summary>
''' Wide Guard move counter.
''' </summary>
Public WideGuard As Integer = 0
''' <summary>
''' Quick Guard move counter.
''' </summary>
Public QuickGuard As Integer = 0
''' <summary>
''' Ingrain move counter.
@ -375,6 +403,10 @@
''' </summary>
Public Cursed As Integer = 0
''' <summary>
''' If the Pokémon is affected by Grounding.
''' </summary>
Public Smacked As Integer = 0
''' <summary>
''' Turns until Perish Song faints Pokémon.
''' </summary>
Public PerishSong As Integer = 0
@ -436,12 +468,19 @@
Me.SleepTurns = 0
Me.TruantRound = 0
Me.Taunted = 0
Me.Telekinesis = 0
Me.Rage = 0
Me.Uproar = 0
Me.Endure = 0
Me.Protect = 0
Me.Detect = 0
Me.KingsShield = 0
Me.SpikyShield = 0
Me.BanefulBunker = 0
Me.CraftyShield = 0
Me.MatBlock = 0
Me.WideGuard = 0
Me.QuickGuard = 0
Me.ProtectMoveCounter = 0
Me.ToxicRound = 0
Me.Nightmare = 0
@ -495,6 +534,7 @@
Me.Bide = 0
Me.BideDamage = 0
Me.Roost = 0
Me.Smacked = 0
'If Baton Pass is not used to switch, also reset these variables:
If BatonPassed = False Then

Binary file not shown.

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">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Fossils.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Gems.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Items\Memories.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Localization\Tokens_de.dat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@ -26097,6 +26106,10 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Compile Include="Pokemon\Abilities\Aerilate.vb" />
<Compile Include="Pokemon\Abilities\PsychicSurge.vb" />
<Compile Include="Pokemon\Abilities\MistySurge.vb" />
<Compile Include="Pokemon\Abilities\GrassySurge.vb" />
<Compile Include="Pokemon\Abilities\ElectricSurge.vb" />
<Compile Include="Pokemon\Abilities\TanglingHair.vb" />
<Compile Include="Pokemon\Abilities\SlushRush.vb" />
<Compile Include="Pokemon\Abilities\PowerofAlchemy.vb" />
@ -26116,6 +26129,8 @@
<Compile Include="Pokemon\Attacks\Dragon\ClangingScales.vb" />
<Compile Include="Pokemon\Attacks\Dragon\DragonHammer.vb" />
<Compile Include="Pokemon\Attacks\Dragon\SpacialRend.vb" />
<Compile Include="Pokemon\Attacks\Electric\ElectricTerrain.vb" />
<Compile Include="Pokemon\Attacks\Fairy\MistyTerrain.vb" />
<Compile Include="Pokemon\Attacks\Fairy\Geomancy.vb" />
<Compile Include="Pokemon\Attacks\Fairy\LightOfRuin.vb" />
<Compile Include="Pokemon\Attacks\Fairy\FleurCannon.vb" />
@ -26132,6 +26147,7 @@
<Compile Include="Pokemon\Attacks\Ghost\ShadowForce.vb" />
<Compile Include="Pokemon\Attacks\Ghost\SpiritShackle.vb" />
<Compile Include="Pokemon\Attacks\Grass\Leafage.vb" />
<Compile Include="Pokemon\Attacks\Grass\GrassyTerrain.vb" />
<Compile Include="Pokemon\Attacks\Grass\TropKick.vb" />
<Compile Include="Pokemon\Attacks\Grass\SolarBlade.vb" />
<Compile Include="Pokemon\Attacks\Grass\Strength Sap.vb" />
@ -26161,6 +26177,7 @@
<Compile Include="Pokemon\Attacks\Psychic\PrismaticLaser.vb" />
<Compile Include="Pokemon\Attacks\Psychic\PsychicFangs.vb" />
<Compile Include="Pokemon\Attacks\Psychic\HyperspaceHole.vb" />
<Compile Include="Pokemon\Attacks\Psychic\PsychicTerrain.vb" />
<Compile Include="Pokemon\Attacks\Psychic\Synchronoise.vb" />
<Compile Include="Pokemon\Attacks\Psychic\Psystrike.vb" />
<Compile Include="Pokemon\Attacks\Rock\DiamondStorm.vb" />
@ -26172,6 +26189,9 @@
<Compile Include="Pokemon\Attacks\Water\OriginPulse.vb" />
<Compile Include="Pokemon\Attacks\Water\Liquidation.vb" />
<Compile Include="Pokemon\Attacks\Water\SparklingAria.vb" />
<Compile Include="Pokemon\Items\Berries\MarangaBerry.vb" />
<Compile Include="Pokemon\Items\Berries\KeeBerry.vb" />
<Compile Include="Pokemon\Items\Berries\RoseliBerry.vb" />
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
<Compile Include="Pokemon\Items\Machines\TM171.vb" />
<Compile Include="Pokemon\Items\Machines\TM172.vb" />
@ -26184,6 +26204,12 @@
<Compile Include="Pokemon\Items\Machines\TM181.vb" />
<Compile Include="Pokemon\Items\Machines\TM174.vb" />
<Compile Include="Pokemon\Items\Machines\TM173.vb" />
<Compile Include="Pokemon\Items\Medicine\PewterCrunchies.vb" />
<Compile Include="Pokemon\Items\Standard\PsychicSeed.vb" />
<Compile Include="Pokemon\Items\Standard\MistySeed.vb" />
<Compile Include="Pokemon\Items\Standard\GrassySeed.vb" />
<Compile Include="Pokemon\Items\Standard\ElectricSeed.vb" />
<Compile Include="Pokemon\Items\Standard\TerrainExtender.vb" />
<Compile Include="Pokemon\Items\Standard\DouseDrive.vb" />
<Compile Include="Pokemon\Items\Standard\ChillDrive.vb" />
<Compile Include="Pokemon\Items\Standard\Snowball.vb" />
@ -27099,15 +27125,15 @@
<Compile Include="Pokemon\Attacks\Bug\StruggleBug.vb" />
<Compile Include="Pokemon\Attacks\Bug\Tailglow.vb" />
<Compile Include="Pokemon\Attacks\Bug\Twineedle.vb" />
<Compile Include="Pokemon\Attacks\Bug\UTurn.vb" />
<Compile Include="Pokemon\Attacks\Bug\Xscissor.vb" />
<Compile Include="Pokemon\Attacks\Bug\U-Turn.vb" />
<Compile Include="Pokemon\Attacks\Bug\XScissor.vb" />
<Compile Include="Pokemon\Attacks\Dark\Assurance.vb" />
<Compile Include="Pokemon\Attacks\Dark\BeatUp.vb" />
<Compile Include="Pokemon\Attacks\Dark\Bite.vb" />
<Compile Include="Pokemon\Attacks\Dark\Crunch.vb" />
<Compile Include="Pokemon\Attacks\Dark\DarkPulse.vb" />
<Compile Include="Pokemon\Attacks\Dark\Embargo.vb" />
<Compile Include="Pokemon\Attacks\Dark\FaintAttack.vb" />
<Compile Include="Pokemon\Attacks\Dark\FeintAttack.vb" />
<Compile Include="Pokemon\Attacks\Dark\FakeTears.vb" />
<Compile Include="Pokemon\Attacks\Dark\Flatter.vb" />
<Compile Include="Pokemon\Attacks\Dark\Fling.vb" />
@ -27117,7 +27143,7 @@
<Compile Include="Pokemon\Attacks\Dark\Memento.vb" />
<Compile Include="Pokemon\Attacks\Dark\NastyPlot.vb" />
<Compile Include="Pokemon\Attacks\Dark\NightDaze.vb" />
<Compile Include="Pokemon\Attacks\Dark\Nightslash.vb" />
<Compile Include="Pokemon\Attacks\Dark\NightSlash.vb" />
<Compile Include="Pokemon\Attacks\Dark\Payback.vb" />
<Compile Include="Pokemon\Attacks\Dark\Punishment.vb" />
<Compile Include="Pokemon\Attacks\Dark\Pursuit.vb" />
@ -27186,7 +27212,7 @@
<Compile Include="Pokemon\Attacks\Fighting\FocusPunch.vb" />
<Compile Include="Pokemon\Attacks\Fighting\ForcePalm.vb" />
<Compile Include="Pokemon\Attacks\Fighting\HammerArm.vb" />
<Compile Include="Pokemon\Attacks\Fighting\HiJumpKick.vb" />
<Compile Include="Pokemon\Attacks\Fighting\HighJumpKick.vb" />
<Compile Include="Pokemon\Attacks\Fighting\JumpKick.vb" />
<Compile Include="Pokemon\Attacks\Fighting\KarateChop.vb" />
<Compile Include="Pokemon\Attacks\Fighting\LowKick.vb" />
@ -27299,7 +27325,7 @@
<Compile Include="Pokemon\Attacks\Grass\PowerWhip.vb" />
<Compile Include="Pokemon\Attacks\Grass\RazorLeaf.vb" />
<Compile Include="Pokemon\Attacks\Grass\SeedBomb.vb" />
<Compile Include="Pokemon\Attacks\Grass\Seedflare.vb" />
<Compile Include="Pokemon\Attacks\Grass\SeedFlare.vb" />
<Compile Include="Pokemon\Attacks\Grass\SleepPowder.vb" />
<Compile Include="Pokemon\Attacks\Grass\SolarBeam.vb" />
<Compile Include="Pokemon\Attacks\Grass\Spore.vb" />
@ -27322,7 +27348,7 @@
<Compile Include="Pokemon\Attacks\Ground\MudBomb.vb" />
<Compile Include="Pokemon\Attacks\Ground\MudShot.vb" />
<Compile Include="Pokemon\Attacks\Ground\MudSport.vb" />
<Compile Include="Pokemon\Attacks\Ground\Sand-Attack.vb" />
<Compile Include="Pokemon\Attacks\Ground\SandAttack.vb" />
<Compile Include="Pokemon\Attacks\Ground\SandTomb.vb" />
<Compile Include="Pokemon\Attacks\Ground\Spikes.vb" />
<Compile Include="Pokemon\Attacks\Ice\AuroraBeam.vb" />
@ -27356,7 +27382,7 @@
<Compile Include="Pokemon\Attacks\Normal\BodySlam.vb" />
<Compile Include="Pokemon\Attacks\Normal\Boomburst.vb" />
<Compile Include="Pokemon\Attacks\Normal\Captivate.vb" />
<Compile Include="Pokemon\Attacks\Normal\Charm.vb" />
<Compile Include="Pokemon\Attacks\Fairy\Charm.vb" />
<Compile Include="Pokemon\Attacks\Normal\ChipAway.vb" />
<Compile Include="Pokemon\Attacks\Normal\CometPunch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Confide.vb" />
@ -27417,7 +27443,7 @@
<Compile Include="Pokemon\Attacks\Normal\Mimic.vb" />
<Compile Include="Pokemon\Attacks\Normal\MindReader.vb" />
<Compile Include="Pokemon\Attacks\Normal\Minimize.vb" />
<Compile Include="Pokemon\Attacks\Normal\Moonlight.vb" />
<Compile Include="Pokemon\Attacks\Fairy\Moonlight.vb" />
<Compile Include="Pokemon\Attacks\Normal\MorningSun.vb" />
<Compile Include="Pokemon\Attacks\Normal\NaturalGift.vb" />
<Compile Include="Pokemon\Attacks\Normal\NaturePower.vb" />
@ -27445,7 +27471,7 @@
<Compile Include="Pokemon\Attacks\Normal\ScaryFace.vb" />
<Compile Include="Pokemon\Attacks\Normal\Scratch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Screech.vb" />
<Compile Include="Pokemon\Attacks\Normal\Selfdestruct.vb" />
<Compile Include="Pokemon\Attacks\Normal\Self-Destruct.vb" />
<Compile Include="Pokemon\Attacks\Normal\Sharpen.vb" />
<Compile Include="Pokemon\Attacks\Normal\ShellSmash.vb" />
<Compile Include="Pokemon\Attacks\Normal\Sing.vb" />
@ -27455,11 +27481,11 @@
<Compile Include="Pokemon\Attacks\Normal\Slam.vb" />
<Compile Include="Pokemon\Attacks\Normal\Slash.vb" />
<Compile Include="Pokemon\Attacks\Normal\SleepTalk.vb" />
<Compile Include="Pokemon\Attacks\Normal\SmellingSalt.vb" />
<Compile Include="Pokemon\Attacks\Normal\SmokeScreen.vb" />
<Compile Include="Pokemon\Attacks\Normal\SmellingSalts.vb" />
<Compile Include="Pokemon\Attacks\Normal\Smokescreen.vb" />
<Compile Include="Pokemon\Attacks\Normal\Snatch.vb" />
<Compile Include="Pokemon\Attacks\Normal\Snore.vb" />
<Compile Include="Pokemon\Attacks\Normal\Softboiled.vb" />
<Compile Include="Pokemon\Attacks\Normal\Soft-Boiled.vb" />
<Compile Include="Pokemon\Attacks\Normal\SonicBoom.vb" />
<Compile Include="Pokemon\Attacks\Normal\SpikeCannon.vb" />
<Compile Include="Pokemon\Attacks\Normal\SpitUp.vb" />
@ -27473,7 +27499,7 @@
<Compile Include="Pokemon\Attacks\Normal\Supersonic.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swagger.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swallow.vb" />
<Compile Include="Pokemon\Attacks\Normal\SweetKiss.vb" />
<Compile Include="Pokemon\Attacks\Fairy\SweetKiss.vb" />
<Compile Include="Pokemon\Attacks\Normal\SweetScent.vb" />
<Compile Include="Pokemon\Attacks\Normal\Swift.vb" />
<Compile Include="Pokemon\Attacks\Normal\SwordsDance.vb" />
@ -27582,7 +27608,7 @@
<Compile Include="Pokemon\Attacks\Steel\GyroBall.vb" />
<Compile Include="Pokemon\Attacks\Steel\HeavySlam.vb" />
<Compile Include="Pokemon\Attacks\Steel\IronDefense.vb" />
<Compile Include="Pokemon\Attacks\Steel\Ironhead.vb" />
<Compile Include="Pokemon\Attacks\Steel\IronHead.vb" />
<Compile Include="Pokemon\Attacks\Steel\IronTail.vb" />
<Compile Include="Pokemon\Attacks\Steel\KingsShield.vb" />
<Compile Include="Pokemon\Attacks\Steel\MagnetBomb.vb" />
@ -27595,18 +27621,18 @@
<Compile Include="Pokemon\Attacks\Steel\SteelWing.vb" />
<Compile Include="Pokemon\Attacks\StruggleAttack.vb" />
<Compile Include="Pokemon\Attacks\TheDerpMove.vb" />
<Compile Include="Pokemon\Attacks\Water\Aquajet.vb" />
<Compile Include="Pokemon\Attacks\Water\AquaJet.vb" />
<Compile Include="Pokemon\Attacks\Water\AquaRing.vb" />
<Compile Include="Pokemon\Attacks\Water\Aquatail.vb" />
<Compile Include="Pokemon\Attacks\Water\AquaTail.vb" />
<Compile Include="Pokemon\Attacks\Water\Brine.vb" />
<Compile Include="Pokemon\Attacks\Water\Bubble.vb" />
<Compile Include="Pokemon\Attacks\Water\BubbleBeam.vb" />
<Compile Include="Pokemon\Attacks\Water\Clamp.vb" />
<Compile Include="Pokemon\Attacks\Water\Crabhammer.vb" />
<Compile Include="Pokemon\Attacks\Water\Dive.vb" />
<Compile Include="Pokemon\Attacks\Water\Hydrocannon.vb" />
<Compile Include="Pokemon\Attacks\Water\HydroCannon.vb" />
<Compile Include="Pokemon\Attacks\Water\HydroPump.vb" />
<Compile Include="Pokemon\Attacks\Water\Muddywater.vb" />
<Compile Include="Pokemon\Attacks\Water\MuddyWater.vb" />
<Compile Include="Pokemon\Attacks\Water\Octazooka.vb" />
<Compile Include="Pokemon\Attacks\Water\RainDance.vb" />
<Compile Include="Pokemon\Attacks\Water\RazorShell.vb" />
@ -28135,7 +28161,7 @@
<Compile Include="Pokemon\Items\Standard\PinkBow.vb" />
<Compile Include="Pokemon\Items\Standard\PoisonBarb.vb" />
<Compile Include="Pokemon\Items\Standard\PokeDoll.vb" />
<Compile Include="Pokemon\Items\Standard\PolkadotBow.vb" />
<Compile Include="Pokemon\Items\Standard\BerserkGene.vb" />
<Compile Include="Pokemon\Items\Standard\PowerAnklet.vb" />
<Compile Include="Pokemon\Items\Standard\PowerBand.vb" />
<Compile Include="Pokemon\Items\Standard\PowerBelt.vb" />

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 90
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cute
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Bug Buzz"
Me.Description = "The user vibrates its wings to generate a damaging sound wave. This may also lower the target's Sp. Def stat."
Me.CriticalChance = 1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 0
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.ContestCategory = ContestCategories.Cute
Me.Name = "Fling"
Me.Description = "The user flings its held item at the target to attack. This move's power and effects depend on the item."
Me.CriticalChance = 1

View File

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

View File

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

View File

@ -48,14 +48,14 @@
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
Me.IsWonderGuardAffected = False
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:partingshot")
Dim d As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Special Attack", 1, "", "move:partingshot")
If b = False Or d = False Then
If b = False And d = False Then
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 130
Me.Accuracy = 90
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Draco Meteor"
Me.Description = "Comets are summoned down from the sky onto the target. The attack's recoil harshly reduces the user's Sp. Atk stat."
Me.CriticalChance = 1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 85
Me.Accuracy = 90
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Blaze Kick"
Me.Description = "The user launches a kick that lands a critical hit more easily. It may also leave the target with a burn."
Me.CriticalChance = 2

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 120
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Smart
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Flare Blitz"
Me.Description = "The user cloaks itself in fire and charges at the target. The user sustains serious damage and may leave the target burned."
Me.CriticalChance = 1

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Defog"
Me.Description = "A strong wind blows away the target's barriers such as Reflect or Light Screen. This also lowers the target's evasiveness."
Me.CriticalChance = 1

View File

@ -60,7 +60,7 @@
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then
BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:hurrican")
BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:hurricane")
End If
End Sub

View File

@ -14,7 +14,7 @@
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Roost"
Me.Description = "The user lands and rests its body. It restores the user's HP by up to half of its max HP."
Me.CriticalChance = 0

View File

@ -14,7 +14,7 @@ Namespace BattleSystem.Moves.Flying
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Smart
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Tailwind"
Me.Description = "The user whips up a turbulent whirlwind that ups the Speed stat of the user and its allies for four turns."
Me.CriticalChance = 1

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 60
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Ominous Wind"
Me.Description = "The user blasts the target with a gust of repulsive wind. It may also raise all the user's stats at once."
Me.CriticalChance = 0

View File

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

View File

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

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.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Target = Targets.AllAdjacentFoes
Me.Priority = 0
Me.TimesToAttack = 1
'#End

View File

@ -14,7 +14,7 @@
Me.Power = 130
Me.Accuracy = 90
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Leaf Storm"
Me.Description = "The user whips up a storm of leaves around the target. The attack's recoil harshly lowers the user's Sp. Atk stat."
Me.CriticalChance = 1

View File

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

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Grass
Public Class Seedflare
Public Class SeedFlare
Inherits Attack
@ -14,7 +14,7 @@
Me.Power = 120
Me.Accuracy = 85
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Seed Flare"
Me.Description = "The user emits a shock wave from its body to attack its target. It may harshly lower the target's Sp. Def."
Me.CriticalChance = 1

View File

@ -60,11 +60,11 @@
op = BattleScreen.OwnPokemon
End If
Dim op_Attack As Integer = BattleCalculation.DetermineBattleAttack(Not own, BattleScreen)
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap")
Dim op_Attack As Integer = BattleCalculation.DetermineBattleAttack(Not own, BattleScreen)
Dim heal As Integer = op_Attack
Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap")
If b = True Then
If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze")

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = False
Me.ImmunityAffected = True
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
@ -53,6 +53,25 @@
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then
op = BattleScreen.OwnPokemon
End If
If own = True Then
If BattleScreen.FieldEffects.OppSmacked = 0 Then
BattleScreen.FieldEffects.OppSmacked = 1
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " fell straight down."))
End If
Else
If BattleScreen.FieldEffects.OwnSmacked = 0 Then
BattleScreen.FieldEffects.OwnSmacked = 1
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " fell straight down."))
End If
End If
End Sub
End Class
End Namespace

View File

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

View File

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

View File

@ -64,40 +64,50 @@
op = BattleScreen.OwnPokemon
End If
If p.Item Is Nothing Then
Exit Sub
End If
If p.Item.IsMegaStone = True Then
Exit Sub
End If
If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then
Exit Sub
End If
If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then
Exit Sub
End If
If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then
Exit Sub
End If
If p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
Exit Sub
End If
If p.Item.Name.ToLower().EndsWith(" mail") = True Then
Dim a As Boolean = False
Dim b As Boolean = False
If Not p.Item Is Nothing Then
a = True
If p.Item.IsMegaStone = True Then
b = True
End If
If p.Ability.Name.ToLower() = "multitype" AndAlso p.Item.Name.ToLower().EndsWith(" plate") Then
b = True
End If
If p.Ability.Name.ToLower() = "rks system" AndAlso p.Item.Name.ToLower().EndsWith(" memory") Then
b = True
End If
'Giratina
If p.Item.Name.ToLower() = "griseous orb" And p.Number = 487 Then
b = True
End If
'Genesect
If p.Item.Name.ToLower().EndsWith(" drive") = True AndAlso p.Number = 649 Then
b = True
End If
If p.Item.Name.ToLower().EndsWith(" mail") = True Then
b = True
End If
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
Exit Sub
End If
If op.Item Is Nothing Then
If op.Item Is Nothing And a = True And b = False Then
Dim ItemID As Integer = p.Item.ID
p.OriginalItem = Item.GetItemByID(p.Item.ID)
p.OriginalItem.AdditionalData = p.Item.AdditionalData
If BattleScreen.Battle.RemoveHeldItem(own, own, BattleScreen, op.GetDisplayName() & " received the item " & p.Item.Name & " from " & p.GetDisplayName() & "!", "move:bestow") Then
If own = False Then
If own = True Then
BattleScreen.FieldEffects.StolenItemIDs.Add(ItemID)
End If
op.Item = Item.GetItemByID(ItemID)
End If
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14,7 +14,7 @@
Me.Power = 150
Me.Accuracy = 90
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Beauty
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Giga Impact"
Me.Description = "The user charges at the target using every bit of its power. The user can't move on the next turn."
Me.CriticalChance = 1

View File

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

View File

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

View File

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

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.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.Self
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
Namespace BattleSystem.Moves.Normal
Public Class Softboiled
Public Class SoftBoiled
Inherits Attack
@ -14,8 +14,8 @@
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Softboiled"
Me.ContestCategory = ContestCategories.Cute
Me.Name = "Soft-Boiled"
Me.Description = "The user restores its own HP by up to half of its maximum HP. May also be used in the field to heal HP."
Me.CriticalChance = 0
Me.IsHMMove = False

View File

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

View File

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

View File

@ -15,7 +15,7 @@
Me.Accuracy = 100
Me.Category = Categories.Physical
Me.ContestCategory = ContestCategories.Tough
Me.Name = "ViceGrip"
Me.Name = "Vice Grip"
Me.Description = "The target is gripped and squeezed from both sides to inflict damage."
Me.CriticalChance = 1
Me.IsHMMove = False

View File

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

View File

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

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More