This commit is contained in:
FantaX1911 2019-10-06 17:00:56 +03:00
commit df9f4e0fd1
738 changed files with 3226 additions and 814 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,40 @@
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
Case "snowball"
If moveUsed.Type.Type = Element.Types.Ice Then
If AllDamage > 0 And op.StatAttack < 6 Then
If RemoveHeldItem(Not own, Not own, BattleScreen, "-1", "item:snowball") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Snowball was consumed!"))
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Attack", 1, "", "item:snowball")
End If
End If
End If
Case "cell battery"
If moveUsed.Type.Type = Element.Types.Electric Then
If AllDamage > 0 And op.StatAttack < 6 Then
If RemoveHeldItem(Not own, Not own, BattleScreen, "-1", "item:cell battery") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Cell Battery was consumed!"))
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Attack", 1, "", "item:cell battery")
End If
End If
End If
End Select
End If
End If
@ -2485,6 +2542,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 +2608,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 +2709,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 +2826,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 +2913,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 +3065,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 +3180,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
@ -3245,8 +3347,10 @@
Select Case val
Case 2
printMessage &= " sharply rose!"
Case 3
Case 3, 4, 5
printMessage &= " rose drastically!"
Case 6
printMessage &= " was maximized!"
Case Else
printMessage &= " slightly rose."
End Select
@ -3503,8 +3607,10 @@
Select Case val
Case 2
printMessage &= " sharply fell!"
Case 3
Case 3, 4, 5
printMessage &= " fell drastically!"
Case 6
printMessage &= " was minimized!"
Case Else
printMessage &= " slightly fell."
End Select
@ -4050,9 +4156,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 +4166,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 +4312,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 +4503,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 +4716,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 +4876,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 +4908,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 +4976,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 +5064,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 +5450,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 +5514,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 +5522,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 +5630,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 +5662,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 +5729,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 +5819,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 +6200,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 +6214,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 +6240,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 +6263,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 +6271,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 +6418,7 @@
.OwnSleepTurns = 0
.OwnTruantRound = 0
.OwnTaunt = 0
.OwnSmacked = 0
.OwnRageCounter = 0
.OwnUproar = 0
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
@ -6376,22 +6619,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 +6641,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 +6689,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 +6699,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 +6744,7 @@
.OppSleepTurns = 0
.OppTruantRound = 0
.OppTaunt = 0
.OppSmacked = 0
.OppRageCounter = 0
.OppUproar = 0
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
@ -6705,22 +6935,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 +6955,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 +7000,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 +7010,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
@ -1210,7 +1297,7 @@
If Attack.Type.Type = Element.Types.Flying Then
IT = 1.2F
End If
Case 88, 273 'Silver powder, Insect Plate
Case 88, 273 'Silver Powder, Insect Plate
If Attack.Type.Type = Element.Types.Bug Then
IT = 1.2F
End If
@ -1226,6 +1313,138 @@
If Attack.Type.Type = Element.Types.Psychic Then
IT = 1.2F
End If
Case 90 'Silk Scarf
If Attack.Type.Type = Element.Types.Normal Then
IT = 1.2F
End If
End Select
Select Case p.Item.ID
Case 635 'Fighting Gem
If Attack.Type.Type = Element.Types.Fighting Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fighting gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Fighting Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 644 'Dark Gem
If Attack.Type.Type = Element.Types.Dark Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:dark gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Dark Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 630 'Fire Gem
If Attack.Type.Type = Element.Types.Fire Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fire gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Fire Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 643 'Dragon Gem
If Attack.Type.Type = Element.Types.Dragon Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:dragon gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Dragon Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 641 'Rock Gem
If Attack.Type.Type = Element.Types.Rock Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:rock gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Rock Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 632 'Electric Gem
If Attack.Type.Type = Element.Types.Electric Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:electric gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Electric Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 645 'Steel Gem
If Attack.Type.Type = Element.Types.Steel Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:steel gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Steel Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 633 'Grass Gem
If Attack.Type.Type = Element.Types.Grass Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:grass gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Grass Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 631 'Water Gem
If Attack.Type.Type = Element.Types.Water Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:water gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Water Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 634 'Ice Gem
If Attack.Type.Type = Element.Types.Ice Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ice gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Ice Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 647 'Fairy Gem
If Attack.Type.Type = Element.Types.Fairy Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:fairy gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Fairy Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 636 'Poison Gem
If Attack.Type.Type = Element.Types.Poison Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:poison gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Poison Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 638 'Flying Gem
If Attack.Type.Type = Element.Types.Flying Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:flying gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Flying Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 640 'Bug Gem
If Attack.Type.Type = Element.Types.Bug Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:bug gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Bug Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 637 'Ground Gem
If Attack.Type.Type = Element.Types.Ground Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ground gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Ground Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 642 'Ghost Gem
If Attack.Type.Type = Element.Types.Ghost Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:ghost gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Ghost Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 639 'Psychic Gem
If Attack.Type.Type = Element.Types.Psychic Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:psychic gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Psychic Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
Case 646 'Normal Gem
If Attack.Type.Type = Element.Types.Normal Then
If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "-1", "item:normal gem") = True Then
BattleScreen.BattleQuery.Add(New TextQueryObject("The Normal Gem boosted " & p.GetDisplayName() & "'s " & Attack.Name & "!"))
IT = 1.3F
End If
End If
End Select
End If
'CHG (If used Charge)
@ -1308,10 +1527,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 +1651,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 +1795,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 +1805,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 +1819,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 +1947,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 +2144,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 +2181,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

View File

@ -6,17 +6,17 @@ version=2
:endif
:if:<register.registered(clairtmget)>=False <and> <register.registered(ddenquizpass)>=True
@player.move(0)
@npc.warp(0,11,0,26)
@player.move(0)
@level.update
@text.show(Wait!)
@npc.turn(0,3)
@player.move(0)
@player.turnto(1)
@npc.move(0,3)
@text.show(Clair: I'm sorry~about this.*Here, take this as~my apology.)
@item.give(214,1)
@item.messagegive(214,1)
@Text.show(That contains~Dragonbreath.*No, it doesn't~have anything to~do with my breath.*If you don't want~it, you don't have~to take it.)
@Text.show(That contains~Dragon Breath.*No, it doesn't~have anything to~do with my breath.*If you don't want~it, you don't have~to take it.)
@Text.show(Clair: What's the matter?*Aren't you going on~to the Pokémon League?*Do you know how to~get there?*From here, go to~New Bark Town.*Then Surf east to~the Pokémon League.*The route there is~very tough.*Don't you dare~lose at the~Pokémon League!*If you do, I'll~feel even worse*about having lost~to you!*Give it everything~you've got.)
@register.register(clairtmget)
:endif

Binary file not shown.

Binary file not shown.

View File

@ -23,18 +23,23 @@ version=2
@register.register(clubintro)
:endif
:if:<Register.registered(EusineHere)>=false <and> <register.registed(EusineRematchTalk)>=true
:if:<Register.registered(EusineHere)>=false <and> <Register.registered(EusineNotHere)>=false <and> <register.registered(EusineRematchTalk)>=true
:if:<system.random(7)>=5
@register.registertime(EusineHere,20,hour)
:else
@register.registertime(EusineNotHere,20,hour)
:endif
:endif
:if:<Register.registered(LiHere)>=false <and> <Register.registered(LiNotHere)>=false <and> <register.registed(LiRematchTalk)>=true
:if:<Register.registered(LiHere)>=false <and> <Register.registered(LiNotHere)>=false <and> <register.registered(LiRematchTalk)>=true
:if:<system.random(10)>=5
@register.registertime(LiHere,4,hour)
@register.registertime(LiNotHere,3,day)
:else
@register.registertime(LiNotHere,1,day)
:endif
:endif
:if:<Register.registered(LiHere)>=true
@npc.warp(19,~,0.2,~)
:endif
@ -42,9 +47,9 @@ version=2
:if:<Environment.day>=Sunday
:if:<Environment.hour><4 <and> <Environment.hour>>0
:if:<register.registered(TRTPrematchTalk)>=true
@npc.warp(30,~,3.2,~)
@npc.warp(31,~,3.2,~)
@npc.warp(32,~,3.2,~)
@npc.warp(20,~,3.2,~)
@npc.warp(21,~,3.2,~)
@npc.warp(22,~,3.2,~)
:endif
:endif
:if:<Environment.hour><12 <and> <Environment.hour>>5
@ -259,9 +264,9 @@ version=2
:endif
@register.register(clubextendinvite)
:if:<register.registered(shrinecelebi)>=true
@npc.register(tohjofalls\hideout.dat|3|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|4|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|5|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|3|position|3,0,0)
@npc.register(tohjofalls\hideout.dat|4|position|4,0,1)
@npc.register(tohjofalls\hideout.dat|5|position|5,0,0)
:endif
:endif
:end

View File

@ -2,29 +2,27 @@ version=2
@text.show(It is an old shrine.)
:if:<pokemon.ot(0)>=42069 <and> <pokemon.isshiny(0)>=true <and> <pokemon.catchball(0)>=45 <and> <register.registered(spiky)>=false
:if:<pokemon.count>>5
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
:end
:else
@script.start(ilex/spiky)
:end
:endif
:if:<pokemon.ot(0)>=42069 <and> <pokemon.isshiny(0)>=true <and> <pokemon.catchball(0)>=45 <and> <register.registered(spiky)>=false
:if:<pokemon.count>>5
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
:end
:else
@script.start(ilex/spiky)
:end
:endif
:if:<register.registered(shrinecelebi)>=false <and> <inventory.countitem(115)>>0
:endif
:if:<register.registered(shrinecelebi)>=false <and> <inventory.countitem(115)>>0
@text.show(The GS Ball is~reacting to the shrine!)
:if:<pokemon.count>>5
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
:end
:else
@text.show(Place the GS Ball~in the shrine?)
@text.show(Place the GS Ball~in the shrine?)
@options.show(Yes,No)
:when:Yes
@camera.reset
:if:<system.random(1,2048)>=1
:then
@register.register(shinycelebi)
:else
@register.unregister(shinycelebi)
@ -73,7 +71,6 @@ version=2
@npc.turn(9,1)
:if:<register.registered(shinycelebi)>=true
:then
@npc.wearskin(10,[POKEMON|S]251)
@level.update
:endif
@ -108,7 +105,6 @@ version=2
@camera.set(0,0.4,3,1,0)
:if:<register.registered(shinycelebi)>=true
:then
@npc.wearskin(0,[POKEMON|S]251)
@level.update
:endif
@ -220,7 +216,6 @@ version=2
@camera.set(0,1,3.75,5,-0.25)
:if:<register.registered(shinycelebi)>=true
:then
@npc.wearskin(0,[POKEMON|S]251)
@level.update
:endif
@ -318,15 +313,14 @@ version=2
@sound.play(teleport)
@player.warp(ilexforest.dat,10,0.1,26,0)
:if:<register.registered(clubextendinvite)>=true
@npc.register(tohjofalls\hideout.dat|3|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|4|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|5|position|~,0,~)
@npc.register(tohjofalls\hideout.dat|3|position|3,0,0)
@npc.register(tohjofalls\hideout.dat|4|position|4,0,1)
@npc.register(tohjofalls\hideout.dat|5|position|5,0,0)
:endif
@level.update
@camera.set(0.8,1.5,3,1.15,-0.5)
:if:<register.registered(shinycelebi)>=true
:then
@npc.wearskin(10,[POKEMON|S]251)
@level.update
:endif
@ -350,7 +344,6 @@ version=2
@pokemon.add(251,60,Obtained at,115,Ilex Forest)
:if:<register.registered(shinycelebi)>=true
:then
@pokemon.setshiny(<pokemon.count>-1,1)
:else
@pokemon.setshiny(<pokemon.count>-1,0)
@ -376,7 +369,6 @@ version=2
@level.wait(30)
@camera.reset
@player.achieveemblem(time)
:when:No
:end
:endwhen

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -7,7 +7,7 @@ version=2
@level.wait(30)
@register.register(pokedex_national)
@register.register(nationaldex)
@text.show(It won't be easy to complete~the National Pokédex...*Infact I have another~gift to help you~do that!)
@text.show(It won't be easy to complete~the National Pokédex...*In fact I have another~gift to help you~do that!)
@item.give(284,1)
@item.messagegive(284,1)
@register.register(rainbowpass)
@ -32,7 +32,7 @@ version=2
:endif
:if:<register.registered(clubextendinvite)>=true <and> <register.registered(kantostart1)>=true <and> <register.registered(OakPrematchTalk)>=false
@text.show( )
@text.show(Well, if it isn't,~<player.name>!*...*Hm, so they have~reformed the Battle~Club?*Well, my battling skills~might be a bit rusty,~however, I'll show up~for some practice.*I might even bring~someone along...)
@register.register(OakPrematchTalk)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(BugsyRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe mornings during~the beginning of the week?*If you visit while~I am there maybe~we could battle.)
@text.show(Hey <player.name>,~hear this.*Last season I was able to~catch a whole bunch of bug~Pokémon that migrated from~Kanto.*I am itching to test them~out in battle.*Rumor is that Goldenrod has~opened a new battle bar~in the city center.*I will make sure to be there~a few mornings if you are~interested in a rematch.)
@register.register(BugsyRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(ClairRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe evenings during~the end of the week?*If you visit while~I am there maybe~we could battle.)
@text.show(Ah, here is our~new champion.*So you made it huh?*Well don't get too cocky,~you just got lucky last time.*Huh? A battle bar?*Sounds like the perfect~opportunity to have my~revenge!*If you are up to it,~I will be present some~evenings.*You'd better be~ready <player.name>,~I won't stand for another~loss!)
@register.register(ClairRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(ChuckRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe Monday/Wednesday/~Friday early mornings?*If you visit while~I am there maybe~we could battle.)
@text.show(Yo <player.name>,~good to see you!*I'd love to battle you again~but I am currently in the~middle of my training session.*Hah!~Here's an idea,~I recently heard of a place~in Goldenrod called the~Battle Bar.*If you would like to witness~my new skills I can be there~some mornings.*If you're up to the challenge~that is, Yahaha!)
@register.register(ChuckRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(MortyRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe around midnight?*If you visit while~I am there maybe~we could battle.)
@text.show(Hello <player.name>,~it's been a while.*To be honest not many really~strong trainers have passed~through here after you,~but that doesn't mean I~haven't been training!*What's that?*The new battle bar?*My ghosts prefer battling in~a quieter place but this~sounds like the ideal place~to improve my skills.*If we were to have another~battle we'd need to do~it when I'm free.*Usually around midnight~will work out.)
@register.register(MortyRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -10,9 +10,9 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|75,54
Pokemon1|76,54,alola
Pokemon2|208,54
Pokemon3|75,54
Pokemon3|76,54
Pokemon4|
Pokemon5|
Pokemon6|

View File

@ -10,7 +10,7 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|76,57
Pokemon1|76,57,alola
Pokemon2|
Pokemon3|
Pokemon4|

View File

@ -10,7 +10,7 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|26,55
Pokemon1|26,55,alola
Pokemon2|26,55
Pokemon3|
Pokemon4|

View File

@ -11,7 +11,7 @@ IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|26,55
Pokemon2|26,55
Pokemon2|26,55,alola
Pokemon3|
Pokemon4|
Pokemon5|

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(WhitneyRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe evenings?*If you visit while~I am there maybe~we could battle.)
@text.show(Hi there!~So good to see you again!*I've been so bored lately,~we should totally have a~rematch!*Um, have you heard about~this new Battle Bar?*It's supposed to be like the~coolest place in town!*If you want I could be~there in the evenings.*Don't be late!)
@register.register(WhitneyRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end
@ -18,10 +18,10 @@ version=2
:endif
:if:<register.registered(defeat_whitney_2)>=True
@text.show(...Sniff...*What? What do you~want? A Badge?*Oh, right. I forgot.~Here's the Plain Badge.)
@text.show(...Sniff...*What? What do you~want? A badge?*Oh, right. I forgot.~Here's the Plain Badge.)
@player.GetBadge(11)
@player.AchieveEmblem(plain)
@text.show(Plainbadge lets~your Pokémon use~Strength outside~of battle.*It also boosts~your Pokémon's~Speed.)
@text.show(The Plain Badge lets~your Pokémon use~Strength and Ride~outside of battle.*It also boosts~your Pokémon's~Speed.)
@register.register(plainbadge_obtain)
@text.show(Oh, you can have this, too!)
@item.give(235,1)

View File

@ -1,8 +1,8 @@
version=2
:if:<register.registered(<storage.get(string,leader)>rematch)>=false
@text.show(<battle.intromessage(gymrematch\\<storage.get(string,leader)>)>)
@battle.trainer(gymrematch\\<storage.get(string,leader)>)
@text.show(<battle.intromessage(gymrematch\<storage.get(string,leader)>)>)
@battle.trainer(gymrematch\<storage.get(string,leader)>)
@register.registertime(<storage.get(string,leader)>rematch,12,hours)
:endif
@text.show(<battle.defeatmessage(gymrematch\\<storage.get(string,leader)>)>)
@text.show(<battle.defeatmessage(gymrematch\<storage.get(string,leader)>)>)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubextendinvite)>=true <and> <register.registered(mortytruerematch)>=true <and> <register.registered(EusineRematchTalk)>=false
@text.show( )
@text.show(You can only reach~a high level if~you're willing to~embrace new~challengers.*I'll invite Eusine~to the club.*I'm sure he'll be~able to enrich our~training.)
@register.register(EusineRematchTalk)
:end
:endif

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(JasmineRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe Monday/Wednesday/~Friday early afternoons?*If you visit while~I am there maybe~we could battle.)
@text.show(...Um*Hello, <player.name>.*I would like to thank you~again for helping me back~then at the lighthouse.*Ampharos has been completely~healthy, all thanks to you...*Um...*a battle bar?*I don't usually leave the city~too much but I could start~showing up there.*How do a few afternoons sound?*Um...*I'll see you there then, ok?)
@register.register(JasmineRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -10,7 +10,7 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|51,52
Pokemon1|51,52,alola
Pokemon2|108,52
Pokemon3|217,52
Pokemon4|

View File

@ -11,8 +11,8 @@ IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|465,56
Pokemon2|103,55
Pokemon3|103,56
Pokemon2|103,55,alola
Pokemon3|103,56.alola
Pokemon4|
Pokemon5|
Pokemon6|

View File

@ -10,9 +10,9 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|{"Pokemon"[57]}{"Experience"[110592]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[72]}{"Status"[]}{"Nature"[6]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[99,20,20]}{"Attack2"[207,15,15]}{"Attack3"[238,5,5]}{"Attack4"[37,10,10]}{"HP"[131]}{"EVs"[0,0,0,0,0,0]}{"IVs"[24,11,19,7,19,10]}
Pokemon2|{"Pokemon"[237]}{"Experience"[110592]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[101]}{"Status"[]}{"Nature"[22]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[364,10,10]}{"Attack2"[97,30,30]}{"Attack3"[360,5,5]}{"Attack4"[469,25,25]}{"HP"[119]}{"EVs"[0,0,0,0,0,0]}{"IVs"[29,26,13,12,5,2]}
Pokemon3|{"Pokemon"[68]}{"Experience"[102810]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[99]}{"Status"[]}{"Nature"[7]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[233,10,10]}{"Attack2"[66,25,25]}{"Attack3"[358,10,10]}{"Attack4"[238,5,5]}{"HP"[151]}{"EVs"[0,0,0,0,0,0]}{"IVs"[14,14,26,11,11,28]}
Pokemon1|{"Pokemon"[57]}{"Experience"[110592]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[72]}{"Status"[]}{"Nature"[6]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[99,20,20]}{"Attack2"[207,15,15]}{"Attack3"[238,5,5]}{"Attack4"[37,10,10]}{"EVs"[0,0,0,0,0,0]}{"IVs"[24,11,19,7,19,10]}
Pokemon2|{"Pokemon"[237]}{"Experience"[110592]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[101]}{"Status"[]}{"Nature"[22]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[364,10,10]}{"Attack2"[97,30,30]}{"Attack3"[360,5,5]}{"Attack4"[469,25,25]}{"EVs"[0,0,0,0,0,0]}{"IVs"[29,26,13,12,5,2]}
Pokemon3|{"Pokemon"[68]}{"Experience"[102810]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[98]}{"ItemData"[]}{"NickName"[]}{"Level"[54]}{"OT"[13337]}{"Ability"[99]}{"Status"[]}{"Nature"[7]}{"CatchLocation"[New Map]}{"CatchTrainer"[Cyndy]}{"CatchBall"[1]}{"CatchMethod"[caught at]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[233,10,10]}{"Attack2"[66,25,25]}{"Attack3"[358,10,10]}{"Attack4"[238,5,5]}{"EVs"[0,0,0,0,0,0]}{"IVs"[14,14,26,11,11,28]}
Pokemon4|
Pokemon5|
Pokemon6|

View File

@ -12,10 +12,10 @@ DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|464,61
Pokemon2|80,59
Pokemon3|67,60
Pokemon3|68,60
Pokemon4|115,58
Pokemon5|28,61
Pokemon6|89,60
Pokemon5|28,61,alola
Pokemon6|89,60,alola
Items|14,14,14
Gender|0
AI|2

View File

@ -10,9 +10,9 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|53,58
Pokemon1|53,58,alola
Pokemon2|523,60
Pokemon3|38,61
Pokemon3|38,61,alola
Pokemon4|78,59
Pokemon5|196,61
Pokemon6|673,60

View File

@ -10,7 +10,7 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|105,54
Pokemon1|105,54,alola
Pokemon2|55,54
Pokemon3|
Pokemon4|

View File

@ -10,9 +10,9 @@ Region|Sevii Islands
IniMusic|johto_trainer_intro
DefeatMusic|trainer_defeat
BattleMusic|johto_trainer
Pokemon1|75,52
Pokemon2|76,54
Pokemon3|76,54
Pokemon1|75,52,alola
Pokemon2|76,54,alola
Pokemon3|76,54,alola
Pokemon4|
Pokemon5|
Pokemon6|

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(earthbadge_obtain)>=true <and> <register.registered(SurgeRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe afternoons during~the end of the week?*If you visit while~I am there maybe~we could battle.)
@text.show(Well look who it is!*What brings you~back here kid?*The Battle Bar?*Sounds like the perfect~place for some training!*How do a few afternoons~sound?*You'd better be there too~kiddo, that's a veterans~promise!)
@register.register(SurgeRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

View File

@ -1,6 +1,6 @@
version=2
:if:<register.registered(clubintro)>=true <and> <register.registered(FalknerRematchTalk)>=false
@text.show(Hello, <player.name>.*Battle Bar?*I remember hearing a~little about it.*I might start hanging~out there.*Maybe mornings?*If you visit while~I am there maybe~we could battle.)
@text.show(Hello <player.name>,~how are you doing?*Me and my birds have honed~our abilities and soared to~new heights in battling!*I'd show you but we are~currently renovating the~Gym's scaffolding.*What?~A battle bar?*That sounds like the perfect~place for a rematch!*I can visit in the mornings.)
@register.register(FalknerRematchTalk)
@register.change(clubregisters,<register.value(clubregisters)>+1)
:end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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