mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-31 01:35:20 +02:00
Merge branch 'master' of https://github.com/P3D-Legacy/P3D-Legacy
This commit is contained in:
commit
df9f4e0fd1
@ -1121,6 +1121,18 @@
|
|||||||
WildHasEscaped = False
|
WildHasEscaped = False
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Prevent turn count from resetting if battle just started
|
||||||
|
If BattleScreen.FieldEffects.OwnTurnCounts = 0 Then
|
||||||
|
HasSwitchedInOwn = False
|
||||||
|
End If
|
||||||
|
If BattleScreen.FieldEffects.OppTurnCounts = 0 Then
|
||||||
|
HasSwitchedInOpp = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
TriggerItemEffect(BattleScreen, True)
|
||||||
|
TriggerItemEffect(BattleScreen, False)
|
||||||
|
|
||||||
'Transform Aegislash with Stance Change ability.
|
'Transform Aegislash with Stance Change ability.
|
||||||
If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then
|
If p.Ability.Name.ToLower() = "stance change" AndAlso p.Number = 681 Then
|
||||||
If p.AdditionalData = "" Then
|
If p.AdditionalData = "" Then
|
||||||
@ -1169,7 +1181,7 @@
|
|||||||
|
|
||||||
If p.Status = Pokemon.StatusProblems.Freeze Then
|
If p.Status = Pokemon.StatusProblems.Freeze Then
|
||||||
If Core.Random.Next(0, 100) < 20 Then
|
If Core.Random.Next(0, 100) < 20 Then
|
||||||
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thrawed out.", "own defrost")
|
CureStatusProblem(own, own, BattleScreen, p.GetDisplayName() & " thawed out.", "own defrost")
|
||||||
Else
|
Else
|
||||||
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False))
|
BattleScreen.BattleQuery.Add(New PlaySoundQueryObject("Battle\Effects\effect_ice1", False))
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is frozen solid!"))
|
||||||
@ -1221,7 +1233,7 @@
|
|||||||
truantTurn = BattleScreen.FieldEffects.OppTruantRound
|
truantTurn = BattleScreen.FieldEffects.OppTruantRound
|
||||||
End If
|
End If
|
||||||
If truantTurn = 1 Then
|
If truantTurn = 1 Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " loafes around."))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is loafing around."))
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -1297,7 +1309,7 @@
|
|||||||
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
|
p.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
|
||||||
Else
|
Else
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is confused!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " is confused!"))
|
||||||
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
|
'Previously 'If Core.Random.Next(0, 2) = 0 Then' (Updated to gen 7's 33% instead of 50%)
|
||||||
If Core.Random.Next(0, 3) = 0 Then
|
If Core.Random.Next(0, 3) = 0 Then
|
||||||
Dim a As Attack = New ConfusionAttack()
|
Dim a As Attack = New ConfusionAttack()
|
||||||
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
|
Dim damage As Integer = BattleCalculation.CalculateDamage(a, False, True, True, BattleScreen)
|
||||||
@ -1603,7 +1615,7 @@
|
|||||||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||||
moveWorks = False
|
moveWorks = False
|
||||||
If oppHealblock > 0 Then
|
If oppHealblock > 0 Then
|
||||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Volt Absorb!", "healblock")
|
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Volt Absorb!", "healblock")
|
||||||
Else
|
Else
|
||||||
If op.HP = op.MaxHP Then
|
If op.HP = op.MaxHP Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Volt Absorb made " & moveUsed.Name & " useless!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Volt Absorb made " & moveUsed.Name & " useless!"))
|
||||||
@ -1628,7 +1640,7 @@
|
|||||||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||||
moveWorks = False
|
moveWorks = False
|
||||||
If oppHealblock > 0 Then
|
If oppHealblock > 0 Then
|
||||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Water Absorb!", "healblock")
|
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Water Absorb!", "healblock")
|
||||||
Else
|
Else
|
||||||
If op.HP = op.MaxHP Then
|
If op.HP = op.MaxHP Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Water Absorb made " & moveUsed.Name & " useless!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Water Absorb made " & moveUsed.Name & " useless!"))
|
||||||
@ -1642,7 +1654,7 @@
|
|||||||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
||||||
moveWorks = False
|
moveWorks = False
|
||||||
If oppHealblock > 0 Then
|
If oppHealblock > 0 Then
|
||||||
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Healblock blocked Dry Skin!", "healblock")
|
ReduceHP(CInt(op.MaxHP / 4), Not own, own, BattleScreen, "Heal Block blocked Dry Skin!", "healblock")
|
||||||
Else
|
Else
|
||||||
If op.HP = op.MaxHP Then
|
If op.HP = op.MaxHP Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Dry Skin made " & moveUsed.Name & " useless!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & "'s Dry Skin made " & moveUsed.Name & " useless!"))
|
||||||
@ -1705,6 +1717,13 @@
|
|||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " prevents damage with its Bulletproof ability!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " prevents damage with its Bulletproof ability!"))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
|
||||||
|
If moveUsed.Priority > 0 Then
|
||||||
|
moveWorks = False
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " surrounds itself with Psychic Terrain!"))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If moveWorks = True Then
|
If moveWorks = True Then
|
||||||
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
|
If op.HP > 0 And op.Status <> Pokemon.StatusProblems.Fainted Then
|
||||||
Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter
|
Dim protect As Integer = BattleScreen.FieldEffects.OppProtectCounter
|
||||||
@ -1793,7 +1812,7 @@
|
|||||||
Dim moveList As String() = {"endeavor",
|
Dim moveList As String() = {"endeavor",
|
||||||
"fling",
|
"fling",
|
||||||
"explosion",
|
"explosion",
|
||||||
"selfdestruct",
|
"self-destruct",
|
||||||
"final gambit",
|
"final gambit",
|
||||||
"bounce",
|
"bounce",
|
||||||
"dig",
|
"dig",
|
||||||
@ -2007,7 +2026,7 @@
|
|||||||
Dim PBmoveList As String() = {"secret power",
|
Dim PBmoveList As String() = {"secret power",
|
||||||
"bug bite",
|
"bug bite",
|
||||||
"pluck",
|
"pluck",
|
||||||
"smelling salt",
|
"smelling salts",
|
||||||
"wake-up slap",
|
"wake-up slap",
|
||||||
"knock off",
|
"knock off",
|
||||||
"relic song",
|
"relic song",
|
||||||
@ -2151,6 +2170,10 @@
|
|||||||
If moveUsed.MakesContact = True Then
|
If moveUsed.MakesContact = True Then
|
||||||
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey")
|
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Gooey slowed down " & p.GetDisplayName() & "!", "gooey")
|
||||||
End If
|
End If
|
||||||
|
Case "tangling hair"
|
||||||
|
If moveUsed.MakesContact = True Then
|
||||||
|
LowerStat(own, Not own, BattleScreen, "Speed", 1, "Tangling Hair slowed down " & p.GetDisplayName() & "!", "tangling hair")
|
||||||
|
End If
|
||||||
Case "weak armor"
|
Case "weak armor"
|
||||||
If moveUsed.Category = Attack.Categories.Physical Then
|
If moveUsed.Category = Attack.Categories.Physical Then
|
||||||
RaiseStat(Not own, Not own, BattleScreen, "Speed", 2, "Weak Armor causes the Speed to increase!", "weakarmor")
|
RaiseStat(Not own, Not own, BattleScreen, "Speed", 2, "Weak Armor causes the Speed to increase!", "weakarmor")
|
||||||
@ -2259,6 +2282,40 @@
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
Case "kee"
|
||||||
|
If moveUsed.Category = Attack.Categories.Physical Then
|
||||||
|
If AllDamage > 0 Then
|
||||||
|
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:kee") = True Then
|
||||||
|
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Defense", 1, "", "berry:kee")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case "maranga"
|
||||||
|
If moveUsed.Category = Attack.Categories.Special Then
|
||||||
|
If AllDamage > 0 Then
|
||||||
|
If RemoveHeldItem(Not own, Not own, BattleScreen, "", "berry:maranga") = True Then
|
||||||
|
BattleScreen.Battle.RaiseStat(Not own, Not own, BattleScreen, "Special Defense", 1, "", "berry:maranga")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
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 Select
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -2485,6 +2542,16 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If own = False Then
|
||||||
|
If BattleScreen.FieldEffects.OppTurnCounts > BattleScreen.FieldEffects.OwnTurnCounts Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If BattleScreen.FieldEffects.OwnTurnCounts > BattleScreen.FieldEffects.OppTurnCounts Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If p.HasVolatileStatus(Pokemon.VolatileStatus.Flinch) = True Then
|
If p.HasVolatileStatus(Pokemon.VolatileStatus.Flinch) = True Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
@ -2541,6 +2608,11 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the burn."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||||
If own = False Then
|
If own = False Then
|
||||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||||
@ -2637,6 +2709,11 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the freeze."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||||
If own = False Then
|
If own = False Then
|
||||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||||
@ -2749,6 +2826,11 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the paralysis."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||||
If own = False Then
|
If own = False Then
|
||||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||||
@ -2831,6 +2913,16 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The electricity prevented the sleep."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the sleep."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim SleepTurns As Integer = turnsPreset
|
Dim SleepTurns As Integer = turnsPreset
|
||||||
If SleepTurns < 0 Then
|
If SleepTurns < 0 Then
|
||||||
SleepTurns = Core.Random.Next(1, 4)
|
SleepTurns = Core.Random.Next(1, 4)
|
||||||
@ -2973,6 +3065,11 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the poison."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||||
If own = False Then
|
If own = False Then
|
||||||
substitute = BattleScreen.FieldEffects.OppSubstitute
|
substitute = BattleScreen.FieldEffects.OppSubstitute
|
||||||
@ -3083,6 +3180,11 @@
|
|||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
|
BattleScreen.BattleQuery.Add(New TextQueryObject("The mist prevented the confusion."))
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
Dim confusionTurns As Integer = Core.Random.Next(1, 5)
|
Dim confusionTurns As Integer = Core.Random.Next(1, 5)
|
||||||
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
|
||||||
If own = False Then
|
If own = False Then
|
||||||
@ -3245,8 +3347,10 @@
|
|||||||
Select Case val
|
Select Case val
|
||||||
Case 2
|
Case 2
|
||||||
printMessage &= " sharply rose!"
|
printMessage &= " sharply rose!"
|
||||||
Case 3
|
Case 3, 4, 5
|
||||||
printMessage &= " rose drastically!"
|
printMessage &= " rose drastically!"
|
||||||
|
Case 6
|
||||||
|
printMessage &= " was maximized!"
|
||||||
Case Else
|
Case Else
|
||||||
printMessage &= " slightly rose."
|
printMessage &= " slightly rose."
|
||||||
End Select
|
End Select
|
||||||
@ -3503,8 +3607,10 @@
|
|||||||
Select Case val
|
Select Case val
|
||||||
Case 2
|
Case 2
|
||||||
printMessage &= " sharply fell!"
|
printMessage &= " sharply fell!"
|
||||||
Case 3
|
Case 3, 4, 5
|
||||||
printMessage &= " fell drastically!"
|
printMessage &= " fell drastically!"
|
||||||
|
Case 6
|
||||||
|
printMessage &= " was minimized!"
|
||||||
Case Else
|
Case Else
|
||||||
printMessage &= " slightly fell."
|
printMessage &= " slightly fell."
|
||||||
End Select
|
End Select
|
||||||
@ -4050,9 +4156,9 @@
|
|||||||
Select Case message
|
Select Case message
|
||||||
Case "" 'Print default message only
|
Case "" 'Print default message only
|
||||||
If cause.StartsWith("berry:") = True Then
|
If cause.StartsWith("berry:") = True Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
|
||||||
Else
|
Else
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
|
||||||
End If
|
End If
|
||||||
Case "-1" 'Print no message at all
|
Case "-1" 'Print no message at all
|
||||||
'Do nothing
|
'Do nothing
|
||||||
@ -4060,9 +4166,9 @@
|
|||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(message))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(message))
|
||||||
|
|
||||||
If cause.StartsWith("berry:") = True Then
|
If cause.StartsWith("berry:") = True Then
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & "berry!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " ate the " & lostItem.Name & " Berry!"))
|
||||||
Else
|
Else
|
||||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the item " & lostItem.Name & "!"))
|
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " lost the " & lostItem.Name & "!"))
|
||||||
End If
|
End If
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
@ -4206,6 +4312,38 @@
|
|||||||
ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought")
|
ChangeWeather(own, own, BattleWeather.WeatherTypes.Sunny, turns, BattleScreen, "The sunlight turned harsh!", "drought")
|
||||||
Case "air lock"
|
Case "air lock"
|
||||||
ChangeWeather(own, own, BattleWeather.WeatherTypes.Clear, 0, BattleScreen, "", "airlock")
|
ChangeWeather(own, own, BattleWeather.WeatherTypes.Clear, 0, BattleScreen, "", "airlock")
|
||||||
|
Case "electric surge"
|
||||||
|
If .FieldEffects.ElectricTerrain <= 0 Then
|
||||||
|
.FieldEffects.ElectricTerrain = turns
|
||||||
|
.FieldEffects.GrassyTerrain = 0
|
||||||
|
.FieldEffects.PsychicTerrain = 0
|
||||||
|
.FieldEffects.MistyTerrain = 0
|
||||||
|
.BattleQuery.Add(New TextQueryObject("An electric current runs across the battlefield!"))
|
||||||
|
End If
|
||||||
|
Case "grassy surge"
|
||||||
|
If .FieldEffects.GrassyTerrain <= 0 Then
|
||||||
|
.FieldEffects.ElectricTerrain = 0
|
||||||
|
.FieldEffects.GrassyTerrain = turns
|
||||||
|
.FieldEffects.PsychicTerrain = 0
|
||||||
|
.FieldEffects.MistyTerrain = 0
|
||||||
|
.BattleQuery.Add(New TextQueryObject("Grass grew to cover the battlefield!"))
|
||||||
|
End If
|
||||||
|
Case "misty surge"
|
||||||
|
If .FieldEffects.MistyTerrain <= 0 Then
|
||||||
|
.FieldEffects.ElectricTerrain = 0
|
||||||
|
.FieldEffects.GrassyTerrain = 0
|
||||||
|
.FieldEffects.PsychicTerrain = 0
|
||||||
|
.FieldEffects.MistyTerrain = turns
|
||||||
|
.BattleQuery.Add(New TextQueryObject("Mist swirls around the battlefield!"))
|
||||||
|
End If
|
||||||
|
Case "psychic surge"
|
||||||
|
If .FieldEffects.PsychicTerrain <= 0 Then
|
||||||
|
.FieldEffects.ElectricTerrain = 0
|
||||||
|
.FieldEffects.GrassyTerrain = 0
|
||||||
|
.FieldEffects.PsychicTerrain = turns
|
||||||
|
.FieldEffects.MistyTerrain = 0
|
||||||
|
.BattleQuery.Add(New TextQueryObject("The battlefield got weird!"))
|
||||||
|
End If
|
||||||
Case "download"
|
Case "download"
|
||||||
If op.Defense < op.SpDefense Then
|
If op.Defense < op.SpDefense Then
|
||||||
RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download")
|
RaiseStat(own, own, BattleScreen, "Attack", 1, "Download analyzed the foe!", "download")
|
||||||
@ -4365,6 +4503,62 @@
|
|||||||
End If
|
End If
|
||||||
End With
|
End With
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Sub TriggerItemEffect(ByVal BattleScreen As BattleScreen, ByVal own As Boolean)
|
||||||
|
With BattleScreen
|
||||||
|
Dim p, op As Pokemon
|
||||||
|
If own Then
|
||||||
|
p = .OwnPokemon
|
||||||
|
op = .OppPokemon
|
||||||
|
Else
|
||||||
|
p = .OppPokemon
|
||||||
|
op = .OwnPokemon
|
||||||
|
End If
|
||||||
|
If Not p.Item Is Nothing Then
|
||||||
|
If .FieldEffects.CanUseItem(own) = True And .FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||||
|
Select Case p.Item.Name.ToLower()
|
||||||
|
Case "electric seed"
|
||||||
|
If .FieldEffects.ElectricTerrain > 0 And p.StatDefense < 6 Then
|
||||||
|
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Electric Seed activated!"))
|
||||||
|
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:electricseed")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case "grassy seed"
|
||||||
|
If .FieldEffects.GrassyTerrain > 0 And p.StatDefense < 6 Then
|
||||||
|
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Grassy Seed activated!"))
|
||||||
|
RaiseStat(own, own, BattleScreen, "Defense", 1, "", "item:grassyseed")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case "misty seed"
|
||||||
|
If .FieldEffects.MistyTerrain > 0 And p.StatSpDefense < 6 Then
|
||||||
|
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Misty Seed activated!"))
|
||||||
|
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:mistyseed")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case "psychic seed"
|
||||||
|
If .FieldEffects.PsychicTerrain > 0 And p.StatSpDefense < 6 Then
|
||||||
|
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Psychic Seed activated!"))
|
||||||
|
RaiseStat(own, own, BattleScreen, "Special Defense", 1, "", "item:psychicseed")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case "berserk gene"
|
||||||
|
If p.StatAttack <> 6 OrElse p.StatSpAttack <> 6 Then
|
||||||
|
If RemoveHeldItem(own, own, BattleScreen, "-1", "") = True Then
|
||||||
|
InflictConfusion(own, own, BattleScreen, p.GetDisplayName() & " went berserk due to the Berserk Gene!", "item:berserkgene")
|
||||||
|
RaiseStat(own, own, BattleScreen, "Attack", 1, "", "item:berserkgene")
|
||||||
|
RaiseStat(own, own, BattleScreen, "Special Attack", 1, "", "item:berserkgene")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Sub ApplyForecast(ByVal BattleScreen As BattleScreen)
|
Private Sub ApplyForecast(ByVal BattleScreen As BattleScreen)
|
||||||
With BattleScreen
|
With BattleScreen
|
||||||
Dim p As Pokemon = .OwnPokemon
|
Dim p As Pokemon = .OwnPokemon
|
||||||
@ -4522,6 +4716,32 @@
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Terrains
|
||||||
|
If .FieldEffects.ElectricTerrain > 0 Then
|
||||||
|
.FieldEffects.ElectricTerrain -= 1
|
||||||
|
If .FieldEffects.ElectricTerrain = 0 Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject("The electricity disappeared from the battlefield."))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If .FieldEffects.GrassyTerrain > 0 Then
|
||||||
|
.FieldEffects.GrassyTerrain -= 1
|
||||||
|
If .FieldEffects.GrassyTerrain = 0 Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject("The grass disappeared from the battlefield."))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If .FieldEffects.MistyTerrain > 0 Then
|
||||||
|
.FieldEffects.MistyTerrain -= 1
|
||||||
|
If .FieldEffects.MistyTerrain = 0 Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject("The mist disappeared from the battlefield."))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If .FieldEffects.PsychicTerrain > 0 Then
|
||||||
|
.FieldEffects.PsychicTerrain -= 1
|
||||||
|
If .FieldEffects.PsychicTerrain = 0 Then
|
||||||
|
.BattleQuery.Add(New TextQueryObject("The weirdness disappeared from the battlefield."))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
'Water Sport
|
'Water Sport
|
||||||
If .FieldEffects.WaterSport > 0 Then
|
If .FieldEffects.WaterSport > 0 Then
|
||||||
.FieldEffects.WaterSport -= 1
|
.FieldEffects.WaterSport -= 1
|
||||||
@ -4656,8 +4876,10 @@
|
|||||||
'Turn count since battle started
|
'Turn count since battle started
|
||||||
.FieldEffects.OwnTurnCounts += 1
|
.FieldEffects.OwnTurnCounts += 1
|
||||||
|
|
||||||
'Turn count since pokemon switched in(currently used for Fake Out only)
|
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
|
||||||
.FieldEffects.OwnPokemonTurns += 1
|
.FieldEffects.OwnPokemonTurns += 1
|
||||||
|
|
||||||
|
'Reset turn count for pokemon switching in
|
||||||
If HasSwitchedInOwn Then
|
If HasSwitchedInOwn Then
|
||||||
.FieldEffects.OwnPokemonTurns = 0
|
.FieldEffects.OwnPokemonTurns = 0
|
||||||
HasSwitchedInOwn = False
|
HasSwitchedInOwn = False
|
||||||
@ -4686,17 +4908,17 @@
|
|||||||
End If
|
End If
|
||||||
If .FieldEffects.OwnTaunt > 0 Then
|
If .FieldEffects.OwnTaunt > 0 Then
|
||||||
.FieldEffects.OwnTaunt = 0
|
.FieldEffects.OwnTaunt = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
If .FieldEffects.OwnEncore > 0 Then
|
If .FieldEffects.OwnEncore > 0 Then
|
||||||
.FieldEffects.OwnEncore = 0
|
.FieldEffects.OwnEncore = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
If .FieldEffects.OwnTorment > 0 Then
|
If .FieldEffects.OwnTorment > 0 Then
|
||||||
.FieldEffects.OwnTorment = 0
|
.FieldEffects.OwnTorment = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OwnPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
'Remove disable
|
'Remove disable
|
||||||
@ -4754,6 +4976,8 @@
|
|||||||
If Me.PlayerWonBattle(BattleScreen) = True Then
|
If Me.PlayerWonBattle(BattleScreen) = True Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
TriggerItemEffect(BattleScreen, True)
|
||||||
|
TriggerItemEffect(BattleScreen, False)
|
||||||
ChangeCameraAngel(0, True, BattleScreen)
|
ChangeCameraAngel(0, True, BattleScreen)
|
||||||
If IsAfterFaint = True Then
|
If IsAfterFaint = True Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
@ -4840,12 +5064,19 @@
|
|||||||
If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then
|
If hailAbilities.Contains(.OwnPokemon.Ability.Name.ToLower()) = False Then
|
||||||
If .OwnPokemon.HP > 0 Then
|
If .OwnPokemon.HP > 0 Then
|
||||||
Dim hailHP As Integer = CInt(.OwnPokemon.MaxHP / 16)
|
Dim hailHP As Integer = CInt(.OwnPokemon.MaxHP / 16)
|
||||||
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "sandstorm")
|
ReduceHP(hailHP, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took damage from the hailstorm!", "hail")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Grassy Terrain
|
||||||
|
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
|
||||||
|
If .OwnPokemon.HP > 0 Then
|
||||||
|
GainHP(CInt(.OwnPokemon.MaxHP / 16), True, True, BattleScreen, .OwnPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If .OwnPokemon.HP > 0 Then
|
If .OwnPokemon.HP > 0 Then
|
||||||
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
||||||
Dim HPMessage As String = ""
|
Dim HPMessage As String = ""
|
||||||
@ -5219,21 +5450,21 @@
|
|||||||
If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt
|
If .FieldEffects.OwnTaunt > 0 And .OwnPokemon.HP > 0 Then 'Taunt
|
||||||
.FieldEffects.OwnTaunt -= 1
|
.FieldEffects.OwnTaunt -= 1
|
||||||
If .FieldEffects.OwnTaunt = 0 Then
|
If .FieldEffects.OwnTaunt = 0 Then
|
||||||
.BattleQuery.Add(New TextQueryObject("The own taunt effect wore off"))
|
.BattleQuery.Add(New TextQueryObject("The Taunt effect wore off."))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise
|
If .FieldEffects.OwnMagnetRise > 0 And .OwnPokemon.HP > 0 Then 'Magnetrise
|
||||||
.FieldEffects.OwnMagnetRise -= 1
|
.FieldEffects.OwnMagnetRise -= 1
|
||||||
If .FieldEffects.OwnMagnetRise = 0 Then
|
If .FieldEffects.OwnMagnetRise = 0 Then
|
||||||
.BattleQuery.Add(New TextQueryObject("Own Magnet Rise effect faded."))
|
.BattleQuery.Add(New TextQueryObject("The Magnet Rise effect faded."))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If .FieldEffects.OwnHealBlock > 0 Then 'Healblock
|
If .FieldEffects.OwnHealBlock > 0 Then 'Healblock
|
||||||
.FieldEffects.OwnHealBlock -= 1
|
.FieldEffects.OwnHealBlock -= 1
|
||||||
If .FieldEffects.OwnHealBlock = 0 Then
|
If .FieldEffects.OwnHealBlock = 0 Then
|
||||||
.BattleQuery.Add(New TextQueryObject("The effect of the own heal block faded."))
|
.BattleQuery.Add(New TextQueryObject("The effects of Heal Block faded."))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -5283,7 +5514,7 @@
|
|||||||
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
||||||
If Not .OwnPokemon.Item Is Nothing Then
|
If Not .OwnPokemon.Item Is Nothing Then
|
||||||
If .OwnPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
If .OwnPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||||
InflictBurn(True, True, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
|
InflictBurn(True, True, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -5291,7 +5522,7 @@
|
|||||||
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
If .OwnPokemon.HP > 0 And .OwnPokemon.Status = Pokemon.StatusProblems.None Then
|
||||||
If Not .OwnPokemon.Item Is Nothing Then
|
If Not .OwnPokemon.Item Is Nothing Then
|
||||||
If .OwnPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
If .OwnPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||||
InflictPoison(True, True, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
|
InflictPoison(True, True, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -5399,8 +5630,10 @@
|
|||||||
'Turn count since battle started
|
'Turn count since battle started
|
||||||
.FieldEffects.OppTurnCounts += 1
|
.FieldEffects.OppTurnCounts += 1
|
||||||
|
|
||||||
'Turn count (Currently used for Fake Out only)
|
'Turn count since pokemon switched in (currently used for Fake Out, First Impression, Slow Start)
|
||||||
.FieldEffects.OppPokemonTurns += 1
|
.FieldEffects.OppPokemonTurns += 1
|
||||||
|
|
||||||
|
'Reset turn count for pokemon switching in
|
||||||
If HasSwitchedInOpp Then
|
If HasSwitchedInOpp Then
|
||||||
.FieldEffects.OppPokemonTurns = 0
|
.FieldEffects.OppPokemonTurns = 0
|
||||||
HasSwitchedInOpp = False
|
HasSwitchedInOpp = False
|
||||||
@ -5429,17 +5662,17 @@
|
|||||||
End If
|
End If
|
||||||
If .FieldEffects.OppTaunt > 0 Then
|
If .FieldEffects.OppTaunt > 0 Then
|
||||||
.FieldEffects.OppTaunt = 0
|
.FieldEffects.OppTaunt = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the taunt" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Taunt" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
If .FieldEffects.OppEncore > 0 Then
|
If .FieldEffects.OppEncore > 0 Then
|
||||||
.FieldEffects.OppEncore = 0
|
.FieldEffects.OppEncore = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the encore" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Encore" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
If .FieldEffects.OppTorment > 0 Then
|
If .FieldEffects.OppTorment > 0 Then
|
||||||
.FieldEffects.OppTorment = 0
|
.FieldEffects.OppTorment = 0
|
||||||
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the torment" & Environment.NewLine & "due to Mental Herb!"))
|
.BattleQuery.Add(New TextQueryObject(.OppPokemon.GetDisplayName() & " got healed from the Torment" & Environment.NewLine & "due to Mental Herb!"))
|
||||||
usedMentalHerb = True
|
usedMentalHerb = True
|
||||||
End If
|
End If
|
||||||
'Remove disable
|
'Remove disable
|
||||||
@ -5496,6 +5729,8 @@
|
|||||||
If IsAfterFaint = True Then
|
If IsAfterFaint = True Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
TriggerItemEffect(BattleScreen, True)
|
||||||
|
TriggerItemEffect(BattleScreen, False)
|
||||||
With BattleScreen
|
With BattleScreen
|
||||||
If .FieldEffects.OppReflect > 0 Then 'Stop reflect
|
If .FieldEffects.OppReflect > 0 Then 'Stop reflect
|
||||||
.FieldEffects.OppReflect -= 1
|
.FieldEffects.OppReflect -= 1
|
||||||
@ -5584,6 +5819,13 @@
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Grassy Terrain
|
||||||
|
If .FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
|
||||||
|
If .OppPokemon.HP > 0 Then
|
||||||
|
GainHP(CInt(.OppPokemon.MaxHP / 16), False, False, BattleScreen, .OppPokemon.GetDisplayName() & " restored some HP due to the Grassy Terrain!", "grassyterrain")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If .OppPokemon.HP > 0 Then
|
If .OppPokemon.HP > 0 Then
|
||||||
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
Dim HPChange As Integer = 0 'Use DrySkin/Rain Dish/Hydration/Ice Body
|
||||||
Dim HPMessage As String = ""
|
Dim HPMessage As String = ""
|
||||||
@ -5958,7 +6200,7 @@
|
|||||||
If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt
|
If .FieldEffects.OppTaunt > 0 And .OppPokemon.HP > 0 Then 'Taunt
|
||||||
.FieldEffects.OppTaunt -= 1
|
.FieldEffects.OppTaunt -= 1
|
||||||
If .FieldEffects.OppTaunt = 0 Then
|
If .FieldEffects.OppTaunt = 0 Then
|
||||||
.BattleQuery.Add(New TextQueryObject("The opponent's taunt effect wore off"))
|
.BattleQuery.Add(New TextQueryObject("The opponent's Taunt effect wore off"))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -5972,7 +6214,7 @@
|
|||||||
If .FieldEffects.OppHealBlock > 0 Then 'Healblock
|
If .FieldEffects.OppHealBlock > 0 Then 'Healblock
|
||||||
.FieldEffects.OppHealBlock -= 1
|
.FieldEffects.OppHealBlock -= 1
|
||||||
If .FieldEffects.OppHealBlock = 0 Then
|
If .FieldEffects.OppHealBlock = 0 Then
|
||||||
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's heal block faded."))
|
.BattleQuery.Add(New TextQueryObject("The effect of the opponent's Heal Block faded."))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -5998,7 +6240,7 @@
|
|||||||
.FieldEffects.OppFutureSightTurns -= 1
|
.FieldEffects.OppFutureSightTurns -= 1
|
||||||
If .FieldEffects.OppFutureSightTurns = 0 Then
|
If .FieldEffects.OppFutureSightTurns = 0 Then
|
||||||
If .OwnPokemon.HP > 0 Then
|
If .OwnPokemon.HP > 0 Then
|
||||||
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & "took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
|
ReduceHP(.FieldEffects.OppFutureSightDamage, True, False, BattleScreen, .OwnPokemon.GetDisplayName() & " took the " & futureSight & " attack!", futureSight.Replace(" ", "").ToLower())
|
||||||
Else
|
Else
|
||||||
.BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!"))
|
.BattleQuery.Add(New TextQueryObject("The " & futureSight & " failed!"))
|
||||||
End If
|
End If
|
||||||
@ -6021,7 +6263,7 @@
|
|||||||
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then
|
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Burn Then
|
||||||
If Not .OppPokemon.Item Is Nothing Then
|
If Not .OppPokemon.Item Is Nothing Then
|
||||||
If .OppPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
If .OppPokemon.Item.Name.ToLower() = "flame orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||||
InflictBurn(False, False, BattleScreen, "Flame orb inflicts a burn!", "flameorb")
|
InflictBurn(False, False, BattleScreen, "Flame Orb inflicts a burn!", "flameorb")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -6029,7 +6271,7 @@
|
|||||||
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Poison And .OppPokemon.Status <> Pokemon.StatusProblems.BadPoison Then
|
If .OppPokemon.HP > 0 And .OppPokemon.Status <> Pokemon.StatusProblems.Poison And .OppPokemon.Status <> Pokemon.StatusProblems.BadPoison Then
|
||||||
If Not .OppPokemon.Item Is Nothing Then
|
If Not .OppPokemon.Item Is Nothing Then
|
||||||
If .OppPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
If .OppPokemon.Item.Name.ToLower() = "toxic orb" And .FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||||
InflictPoison(False, False, BattleScreen, True, "Toxic orb inflicts a poisoning!", "toxicorb")
|
InflictPoison(False, False, BattleScreen, True, "Toxic Orb inflicts a poisoning!", "toxicorb")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -6176,6 +6418,7 @@
|
|||||||
.OwnSleepTurns = 0
|
.OwnSleepTurns = 0
|
||||||
.OwnTruantRound = 0
|
.OwnTruantRound = 0
|
||||||
.OwnTaunt = 0
|
.OwnTaunt = 0
|
||||||
|
.OwnSmacked = 0
|
||||||
.OwnRageCounter = 0
|
.OwnRageCounter = 0
|
||||||
.OwnUproar = 0
|
.OwnUproar = 0
|
||||||
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
|
If .OwnUsedBatonPass = False Then .OwnFocusEnergy = 0
|
||||||
@ -6376,22 +6619,7 @@
|
|||||||
Dim spikeAffected As Boolean = True
|
Dim spikeAffected As Boolean = True
|
||||||
Dim rockAffected As Boolean = True
|
Dim rockAffected As Boolean = True
|
||||||
|
|
||||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
spikeAffected = BattleScreen.FieldEffects.IsGrounded(True, BattleScreen)
|
||||||
spikeAffected = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
If .FieldEffects.Gravity > 0 Then
|
|
||||||
spikeAffected = True
|
|
||||||
Else
|
|
||||||
If Not p.Item Is Nothing Then
|
|
||||||
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
|
||||||
spikeAffected = False
|
|
||||||
End If
|
|
||||||
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
|
||||||
spikeAffected = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Spikes
|
'Spikes
|
||||||
If spikeAffected = True Then
|
If spikeAffected = True Then
|
||||||
@ -6413,7 +6641,7 @@
|
|||||||
If spikeAffected = True Then
|
If spikeAffected = True Then
|
||||||
If .FieldEffects.OppStickyWeb > 0 Then
|
If .FieldEffects.OppStickyWeb > 0 Then
|
||||||
|
|
||||||
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a sticky web!", "sticky web")
|
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a Sticky Web!", "stickyweb")
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@ -6461,6 +6689,7 @@
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
TriggerAbilityEffect(BattleScreen, True)
|
TriggerAbilityEffect(BattleScreen, True)
|
||||||
|
TriggerItemEffect(BattleScreen, True)
|
||||||
|
|
||||||
If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
If .OwnPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
||||||
.FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4)
|
.FieldEffects.OwnSleepTurns = Core.Random.Next(1, 4)
|
||||||
@ -6470,7 +6699,7 @@
|
|||||||
BattleScreen.FieldEffects.OwnHealingWish = False
|
BattleScreen.FieldEffects.OwnHealingWish = False
|
||||||
|
|
||||||
If .OwnPokemon.HP < .OwnPokemon.MaxHP Or .OwnPokemon.Status <> Pokemon.StatusProblems.None Then
|
If .OwnPokemon.HP < .OwnPokemon.MaxHP Or .OwnPokemon.Status <> Pokemon.StatusProblems.None Then
|
||||||
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The healing wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
|
GainHP(.OwnPokemon.MaxHP - .OwnPokemon.HP, True, True, BattleScreen, "The Healing Wish came true for " & .OwnPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||||
CureStatusProblem(True, True, BattleScreen, "", "move:healingwish")
|
CureStatusProblem(True, True, BattleScreen, "", "move:healingwish")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -6515,6 +6744,7 @@
|
|||||||
.OppSleepTurns = 0
|
.OppSleepTurns = 0
|
||||||
.OppTruantRound = 0
|
.OppTruantRound = 0
|
||||||
.OppTaunt = 0
|
.OppTaunt = 0
|
||||||
|
.OppSmacked = 0
|
||||||
.OppRageCounter = 0
|
.OppRageCounter = 0
|
||||||
.OppUproar = 0
|
.OppUproar = 0
|
||||||
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
|
If .OppUsedBatonPass = False Then .OppFocusEnergy = 0
|
||||||
@ -6705,22 +6935,7 @@
|
|||||||
Dim spikeAffected As Boolean = True
|
Dim spikeAffected As Boolean = True
|
||||||
Dim rockAffected As Boolean = True
|
Dim rockAffected As Boolean = True
|
||||||
|
|
||||||
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" Then
|
spikeAffected = BattleScreen.FieldEffects.IsGrounded(False, BattleScreen)
|
||||||
spikeAffected = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
If .FieldEffects.Gravity > 0 Then
|
|
||||||
spikeAffected = True
|
|
||||||
Else
|
|
||||||
If Not p.Item Is Nothing Then
|
|
||||||
If p.Item.Name.ToLower() = "air ballon" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
|
||||||
spikeAffected = False
|
|
||||||
End If
|
|
||||||
If p.Item.Name.ToLower() = "iron ball" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
|
||||||
spikeAffected = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If spikeAffected = True Then
|
If spikeAffected = True Then
|
||||||
If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then
|
If .FieldEffects.OwnSpikes > 0 And p.Ability.Name.ToLower() <> "magic guard" Then
|
||||||
@ -6740,7 +6955,7 @@
|
|||||||
If spikeAffected = True Then
|
If spikeAffected = True Then
|
||||||
If .FieldEffects.OwnStickyWeb > 0 Then
|
If .FieldEffects.OwnStickyWeb > 0 Then
|
||||||
|
|
||||||
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a sticky web!", "sticky web")
|
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a Sticky Web!", "stickyweb")
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@ -6785,6 +7000,7 @@
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
TriggerAbilityEffect(BattleScreen, False)
|
TriggerAbilityEffect(BattleScreen, False)
|
||||||
|
TriggerItemEffect(BattleScreen, False)
|
||||||
|
|
||||||
If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
If .OppPokemon.Status = Pokemon.StatusProblems.Sleep Then
|
||||||
.FieldEffects.OppSleepTurns = Core.Random.Next(1, 4)
|
.FieldEffects.OppSleepTurns = Core.Random.Next(1, 4)
|
||||||
@ -6794,7 +7010,7 @@
|
|||||||
BattleScreen.FieldEffects.OppHealingWish = False
|
BattleScreen.FieldEffects.OppHealingWish = False
|
||||||
|
|
||||||
If .OppPokemon.HP < .OppPokemon.MaxHP Or .OppPokemon.Status <> Pokemon.StatusProblems.None Then
|
If .OppPokemon.HP < .OppPokemon.MaxHP Or .OppPokemon.Status <> Pokemon.StatusProblems.None Then
|
||||||
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The healing wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
|
GainHP(.OppPokemon.MaxHP - .OppPokemon.HP, False, False, BattleScreen, "The Healing Wish came true for " & .OppPokemon.GetDisplayName() & "!", "move:healingwish")
|
||||||
CureStatusProblem(False, False, BattleScreen, "", "move:healingwish")
|
CureStatusProblem(False, False, BattleScreen, "", "move:healingwish")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
@ -33,6 +33,12 @@
|
|||||||
If moveName = "light screen" Or moveName = "reflect" Then
|
If moveName = "light screen" Or moveName = "reflect" Then
|
||||||
turns = 8
|
turns = 8
|
||||||
End If
|
End If
|
||||||
|
Case "terrain extender"
|
||||||
|
If moveName = "electric terrain" Or moveName = "grassy terrain" Or moveName = "misty terrain" Or moveName = "psychic terrain" Then
|
||||||
|
turns = 8
|
||||||
|
ElseIf ability = "electric surge" Or ability = "grassy surge" Or ability = "misty surge" Or ability = "psychic surge" Then
|
||||||
|
turns = 8
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
Return turns
|
Return turns
|
||||||
@ -272,6 +278,14 @@
|
|||||||
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then
|
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Then
|
||||||
speed *= 2
|
speed *= 2
|
||||||
End If
|
End If
|
||||||
|
Case "slush rush"
|
||||||
|
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Hailstorm Then
|
||||||
|
speed *= 2
|
||||||
|
End If
|
||||||
|
Case "surge surfer"
|
||||||
|
If BattleScreen.FieldEffects.ElectricTerrain > 0 Then
|
||||||
|
speed *= 2
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge
|
Dim grassPledge As Integer = BattleScreen.FieldEffects.OppGrassPledge
|
||||||
@ -291,11 +305,11 @@
|
|||||||
|
|
||||||
If p.Ability.Name.ToLower() = "slow start" Then
|
If p.Ability.Name.ToLower() = "slow start" Then
|
||||||
If own = True Then
|
If own = True Then
|
||||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||||
speed = CInt(speed / 2)
|
speed = CInt(speed / 2)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||||
speed = CInt(speed / 2)
|
speed = CInt(speed / 2)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -371,11 +385,11 @@
|
|||||||
|
|
||||||
If p.Ability.Name.ToLower() = "slow start" Then
|
If p.Ability.Name.ToLower() = "slow start" Then
|
||||||
If own = True Then
|
If own = True Then
|
||||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||||
attack = CInt(attack / 2)
|
attack = CInt(attack / 2)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||||
attack = CInt(attack / 2)
|
attack = CInt(attack / 2)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -491,7 +505,7 @@
|
|||||||
result = INIT * ACCM
|
result = INIT * ACCM
|
||||||
|
|
||||||
If Not op.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(Not own) = True Then
|
If Not op.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(Not own) = True Then
|
||||||
If op.Item.Name.ToLower() = "brightpowder" Or op.Item.Name.ToLower() = "lax incense" Then
|
If op.Item.Name.ToLower() = "bright powder" Or op.Item.Name.ToLower() = "lax incense" Then
|
||||||
result *= 0.9F
|
result *= 0.9F
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -674,31 +688,46 @@
|
|||||||
op = BattleScreen.OwnPokemon
|
op = BattleScreen.OwnPokemon
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If p.Type1.Type = Element.Types.Ghost Or p.Type2.Type = Element.Types.Ghost Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
|
||||||
If p.Ability.Name.ToLower() = "run away" Then
|
If p.Ability.Name.ToLower() = "run away" Then
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" Then
|
If Not p.Item Is Nothing Then
|
||||||
|
If p.Item.Name.ToLower() = "smoke ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" And op.HP > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If op.Ability.Name.ToLower() = "arena trap" Then
|
If op.Ability.Name.ToLower() = "arena trap" And op.HP > 0 And BattleScreen.FieldEffects.IsGrounded(own, BattleScreen) = True Then
|
||||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
|
Return False
|
||||||
If own = False Then
|
|
||||||
magnetRise = BattleScreen.FieldEffects.OppMagnetRise
|
|
||||||
End If
|
|
||||||
|
|
||||||
If p.Type1.Type <> Element.Types.Flying And p.Type2.Type <> Element.Types.Flying And p.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If op.Ability.Name.ToLower() = "magnet pull" Then
|
If op.Ability.Name.ToLower() = "magnet pull" And op.HP > 0 Then
|
||||||
If p.Type1.Type = Element.Types.Steel Or p.Type2.Type = Element.Types.Steel Then
|
If p.Type1.Type = Element.Types.Steel Or p.Type2.Type = Element.Types.Steel Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
With BattleScreen.FieldEffects
|
||||||
|
If own = True Then
|
||||||
|
If .OwnWrap > 0 Or .OwnBind > 0 Or .OwnClamp > 0 Or .OwnFireSpin > 0 Or .OwnMagmaStorm > 0 Or .OwnSandTomb > 0 Or .OwnWhirlpool > 0 Or .OwnInfestation > 0 Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If .OppWrap > 0 Or .OppBind > 0 Or .OppClamp > 0 Or .OppFireSpin > 0 Or .OppMagmaStorm > 0 Or .OppSandTomb > 0 Or .OppWhirlpool > 0 Or .OppInfestation > 0 Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
|
||||||
Dim ingrain As Integer = BattleScreen.FieldEffects.OwnIngrain
|
Dim ingrain As Integer = BattleScreen.FieldEffects.OwnIngrain
|
||||||
If own = False Then
|
If own = False Then
|
||||||
ingrain = BattleScreen.FieldEffects.OppIngrain
|
ingrain = BattleScreen.FieldEffects.OppIngrain
|
||||||
@ -710,13 +739,6 @@
|
|||||||
If p.Speed > op.Speed Then
|
If p.Speed > op.Speed Then
|
||||||
Return True
|
Return True
|
||||||
Else
|
Else
|
||||||
If Not p.Item Is Nothing And BattleScreen.FieldEffects.CanUseItem(own) = True Then
|
|
||||||
If p.Item.Name.ToLower() = "smoke ball" Then
|
|
||||||
BattleScreen.FieldEffects.RunTries += 1
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim A As Integer = p.Speed
|
Dim A As Integer = p.Speed
|
||||||
Dim B As Integer = op.Speed
|
Dim B As Integer = op.Speed
|
||||||
If B = 0 Then
|
If B = 0 Then
|
||||||
@ -772,37 +794,84 @@
|
|||||||
'Sheer Cold
|
'Sheer Cold
|
||||||
If move.ID = 329 Then
|
If move.ID = 329 Then
|
||||||
If op.IsType(Element.Types.Ice) Then
|
If op.IsType(Element.Types.Ice) Then
|
||||||
effectiveness = 0
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim _targetHasIronBall As Boolean = False
|
|
||||||
If Not op.Item Is Nothing Then
|
|
||||||
If op.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
|
||||||
_targetHasIronBall = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If op.Ability.Name.ToLower() = "levitate" And move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.Gravity = 0 And _targetHasIronBall = False Then
|
|
||||||
If BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then
|
|
||||||
effectiveness = 0.0F
|
effectiveness = 0.0F
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim ingrain As Integer = BattleScreen.FieldEffects.OppIngrain
|
Dim digHit As Boolean = False
|
||||||
If own = False Then
|
Dim airHit As Boolean = False
|
||||||
ingrain = BattleScreen.FieldEffects.OwnIngrain
|
Dim regHit As Boolean = False
|
||||||
|
|
||||||
|
'Grounded condition
|
||||||
|
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = False Then
|
||||||
|
Dim targetDig As Boolean = False
|
||||||
|
Dim targetAir As Boolean = False
|
||||||
|
|
||||||
|
With BattleScreen.FieldEffects
|
||||||
|
If own = True Then
|
||||||
|
If .OppDigCounter > 0 Then
|
||||||
|
targetDig = True
|
||||||
|
End If
|
||||||
|
If .OppFlyCounter > 0 Or .OppBounceCounter > 0 Or .OppSkyDropCounter > 0 Then
|
||||||
|
targetAir = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
If .OwnDigCounter > 0 Then
|
||||||
|
targetDig = True
|
||||||
|
End If
|
||||||
|
If .OwnFlyCounter > 0 Or .OwnBounceCounter > 0 Or .OwnSkyDropCounter > 0 Then
|
||||||
|
targetAir = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
|
||||||
|
Select Case move.ID
|
||||||
|
Case 89, 90, 222 'Earthquake, Fissure, Magnitude
|
||||||
|
effectiveness = 0.0F
|
||||||
|
If targetDig = True Then
|
||||||
|
digHit = True
|
||||||
|
End If
|
||||||
|
Case 614 'Thousand Arrows
|
||||||
|
airHit = True
|
||||||
|
If targetAir = True Then
|
||||||
|
If own = True Then
|
||||||
|
BattleScreen.FieldEffects.OppFlyCounter = 0
|
||||||
|
BattleScreen.FieldEffects.OppBounceCounter = 0
|
||||||
|
Else
|
||||||
|
BattleScreen.FieldEffects.OwnFlyCounter = 0
|
||||||
|
BattleScreen.FieldEffects.OwnBounceCounter = 0
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Case Else
|
||||||
|
effectiveness = 0.0F
|
||||||
|
End Select
|
||||||
|
ElseIf move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground And BattleScreen.FieldEffects.IsGrounded(Not own, BattleScreen) = True Then
|
||||||
|
regHit = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If move.GetAttackType(own, BattleScreen).Type = Element.Types.Ground Then
|
'Grounded hit effectiveness
|
||||||
If BattleScreen.FieldEffects.Gravity = 0 And ingrain = 0 And _targetHasIronBall = False Then
|
If digHit = True Or airHit = True Or regHit = True Then
|
||||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
|
effectiveness = 1.0F
|
||||||
If own = False Then
|
If op.IsType(Element.Types.Electric) Then
|
||||||
magnetRise = BattleScreen.FieldEffects.OwnMagnetRise
|
effectiveness *= 2
|
||||||
End If
|
End If
|
||||||
If magnetRise > 0 Then
|
If op.IsType(Element.Types.Fire) Then
|
||||||
effectiveness = 0.0F
|
effectiveness *= 2
|
||||||
End If
|
End If
|
||||||
|
If op.IsType(Element.Types.Poison) Then
|
||||||
|
effectiveness *= 2
|
||||||
|
End If
|
||||||
|
If op.IsType(Element.Types.Rock) Then
|
||||||
|
effectiveness *= 2
|
||||||
|
End If
|
||||||
|
If op.IsType(Element.Types.Steel) Then
|
||||||
|
effectiveness *= 2
|
||||||
|
End If
|
||||||
|
If op.IsType(Element.Types.Bug) Then
|
||||||
|
effectiveness /= 2
|
||||||
|
End If
|
||||||
|
If op.IsType(Element.Types.Grass) Then
|
||||||
|
effectiveness /= 2
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -832,7 +901,6 @@
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If op.IsType(Element.Types.Ghost) = True Then
|
If op.IsType(Element.Types.Ghost) = True Then
|
||||||
Dim CanHitGhost = False
|
Dim CanHitGhost = False
|
||||||
Dim Foresight As Integer = 0
|
Dim Foresight As Integer = 0
|
||||||
@ -1018,28 +1086,37 @@
|
|||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.OwnPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OwnPokemon.Type2.Type = Element.Types.Ghost Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
|
||||||
|
With BattleScreen
|
||||||
|
If Not .OwnPokemon.Item Is Nothing Then
|
||||||
|
If .OwnPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(True) = True And .FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
|
||||||
If BattleScreen.IsRemoteBattle AndAlso BattleScreen.IsPVPBattle AndAlso Not BattleScreen.IsHost Then
|
If BattleScreen.IsRemoteBattle AndAlso BattleScreen.IsPVPBattle AndAlso Not BattleScreen.IsHost Then
|
||||||
If BattleScreen.FieldEffects.ClientCanSwitch = False Then
|
If BattleScreen.FieldEffects.ClientCanSwitch = False Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" Then
|
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OppPokemon.HP > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then
|
If BattleScreen.FieldEffects.OwnTrappedCounter > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" Then
|
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OppPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then
|
||||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OwnMagnetRise
|
Return False
|
||||||
|
|
||||||
If BattleScreen.OwnPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OwnPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True Then
|
If BattleScreen.OppPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OwnPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OppPokemon.HP > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -1056,22 +1133,32 @@
|
|||||||
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then
|
If BattleScreen.OppPokemon.Status = Pokemon.StatusProblems.Fainted Or BattleScreen.OppPokemon.HP <= 0 Then
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" Then
|
|
||||||
|
If BattleScreen.OppPokemon.Type1.Type = Element.Types.Ghost Or BattleScreen.OppPokemon.Type2.Type = Element.Types.Ghost Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
|
||||||
|
With BattleScreen
|
||||||
|
If Not .OppPokemon.Item Is Nothing Then
|
||||||
|
If .OppPokemon.Item.Name.ToLower() = "shed shell" And .FieldEffects.CanUseItem(False) = True And .FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||||
|
Return True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
|
||||||
|
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "shadow tag" And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "shadow tag" And BattleScreen.OwnPokemon.HP > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then
|
If BattleScreen.FieldEffects.OppTrappedCounter > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" Then
|
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "arena trap" And BattleScreen.OwnPokemon.HP > 0 And BattleScreen.FieldEffects.IsGrounded(False, BattleScreen) = True Then
|
||||||
Dim magnetRise As Integer = BattleScreen.FieldEffects.OppMagnetRise
|
Return False
|
||||||
|
|
||||||
If BattleScreen.OppPokemon.IsType(Element.Types.Flying) = False And BattleScreen.OppPokemon.Ability.Name.ToLower() <> "levitate" And magnetRise = 0 Then
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Ghost) = False And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True Then
|
If BattleScreen.OwnPokemon.Ability.Name.ToLower() = "magnet pull" And BattleScreen.OppPokemon.IsType(Element.Types.Steel) = True And BattleScreen.OwnPokemon.HP > 0 Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -1210,7 +1297,7 @@
|
|||||||
If Attack.Type.Type = Element.Types.Flying Then
|
If Attack.Type.Type = Element.Types.Flying Then
|
||||||
IT = 1.2F
|
IT = 1.2F
|
||||||
End If
|
End If
|
||||||
Case 88, 273 'Silver powder, Insect Plate
|
Case 88, 273 'Silver Powder, Insect Plate
|
||||||
If Attack.Type.Type = Element.Types.Bug Then
|
If Attack.Type.Type = Element.Types.Bug Then
|
||||||
IT = 1.2F
|
IT = 1.2F
|
||||||
End If
|
End If
|
||||||
@ -1226,6 +1313,138 @@
|
|||||||
If Attack.Type.Type = Element.Types.Psychic Then
|
If Attack.Type.Type = Element.Types.Psychic Then
|
||||||
IT = 1.2F
|
IT = 1.2F
|
||||||
End If
|
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 Select
|
||||||
End If
|
End If
|
||||||
'CHG (If used Charge)
|
'CHG (If used Charge)
|
||||||
@ -1308,10 +1527,6 @@
|
|||||||
If Attack.IsJawMove = True Then
|
If Attack.IsJawMove = True Then
|
||||||
UA = 1.5F
|
UA = 1.5F
|
||||||
End If
|
End If
|
||||||
Case "fur coat"
|
|
||||||
If Attack.Category = Attack.Categories.Physical Then
|
|
||||||
UA = 0.5F
|
|
||||||
End If
|
|
||||||
Case "refrigerate"
|
Case "refrigerate"
|
||||||
If Attack.Type.Type = Element.Types.Normal Then
|
If Attack.Type.Type = Element.Types.Normal Then
|
||||||
UA = 1.2F
|
UA = 1.2F
|
||||||
@ -1436,11 +1651,11 @@
|
|||||||
AM = 1.5F
|
AM = 1.5F
|
||||||
Case "slow start"
|
Case "slow start"
|
||||||
If Own = True Then
|
If Own = True Then
|
||||||
If BattleScreen.FieldEffects.OwnTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OwnPokemonTurns < 5 Then
|
||||||
AM = 0.5F
|
AM = 0.5F
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If BattleScreen.FieldEffects.OppTurnCounts < 5 Then
|
If BattleScreen.FieldEffects.OppPokemonTurns < 5 Then
|
||||||
AM = 0.5F
|
AM = 0.5F
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -1580,7 +1795,7 @@
|
|||||||
DSM = 1.0F
|
DSM = 1.0F
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Attack.Name.ToLower() = "selfdestruct" Or Attack.Name.ToLower() = "explosion" Then
|
If Attack.Name.ToLower() = "self-destruct" Or Attack.Name.ToLower() = "explosion" Then
|
||||||
SX = 1.0F
|
SX = 1.0F
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -1590,6 +1805,10 @@
|
|||||||
If Op.Number = 132 Then
|
If Op.Number = 132 Then
|
||||||
DMod = 1.5F
|
DMod = 1.5F
|
||||||
End If
|
End If
|
||||||
|
Case "eviolite"
|
||||||
|
If Op.IsFullyEvolved = False Then
|
||||||
|
DMod = 1.5F
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@ -1600,6 +1819,15 @@
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Op.Ability.Name.ToLower() = "fur coat" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
|
||||||
|
DMod = 2.0F
|
||||||
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.GrassyTerrain > 0 And Op.Ability.Name.ToLower() = "grass pelt" And BattleScreen.FieldEffects.CanUseAbility(Not Own, BattleScreen) = True Then
|
||||||
|
DMod = 1.5F
|
||||||
|
End If
|
||||||
|
|
||||||
ElseIf Attack.Category = Attack.Categories.Special Then
|
ElseIf Attack.Category = Attack.Categories.Special Then
|
||||||
DStat = Attack.GetUseDefenseStat(Op)
|
DStat = Attack.GetUseDefenseStat(Op)
|
||||||
DSM = GetMultiplierFromStat(Op.StatSpDefense)
|
DSM = GetMultiplierFromStat(Op.StatSpDefense)
|
||||||
@ -1719,6 +1947,18 @@
|
|||||||
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then
|
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Snow Then
|
||||||
SR = 1.5F
|
SR = 1.5F
|
||||||
End If
|
End If
|
||||||
|
Case Element.Types.Electric
|
||||||
|
If BattleScreen.FieldEffects.ElectricTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||||
|
SR = 1.5F
|
||||||
|
End If
|
||||||
|
Case Element.Types.Grass
|
||||||
|
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||||
|
SR = 1.5F
|
||||||
|
End If
|
||||||
|
Case Element.Types.Psychic
|
||||||
|
If BattleScreen.FieldEffects.PsychicTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||||
|
SR = 1.5F
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
If p.Ability.Name.ToLower() = "flash fire" Then
|
If p.Ability.Name.ToLower() = "flash fire" Then
|
||||||
@ -1904,6 +2144,12 @@
|
|||||||
TRB = 0.5F
|
TRB = 0.5F
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
Case "roseli"
|
||||||
|
If Attack.Type.Type = Element.Types.Fairy Then
|
||||||
|
If BattleScreen.Battle.RemoveHeldItem(Not Own, Not Own, BattleScreen, "The Roseli Berry weakened the effect of " & Attack.Name & " on " & Op.GetDisplayName() & "!", "berry:roseli") = True Then
|
||||||
|
TRB = 0.5F
|
||||||
|
End If
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@ -1935,6 +2181,19 @@
|
|||||||
damage = CInt(damage / 2)
|
damage = CInt(damage / 2)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.MistyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||||
|
If Attack.Type.Type = Element.Types.Dragon Then
|
||||||
|
damage = CInt(damage / 2)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If BattleScreen.FieldEffects.GrassyTerrain > 0 And BattleScreen.FieldEffects.IsGrounded(Own, BattleScreen) = True Then
|
||||||
|
'Earthquake, Bulldoze, Magnitude
|
||||||
|
If Attack.ID = 89 Or Attack.ID = 523 Or Attack.ID = 222 Then
|
||||||
|
damage = CInt(damage / 2)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If Attack.IsOneHitKOMove = True Then
|
If Attack.IsOneHitKOMove = True Then
|
||||||
damage = Op.HP
|
damage = Op.HP
|
||||||
End If
|
End If
|
||||||
|
@ -50,7 +50,41 @@
|
|||||||
|
|
||||||
If y > -1 Then
|
If y > -1 Then
|
||||||
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(22, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
|
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(22, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
|
||||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 42), Color.Black)
|
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(110 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub DrawTerrain(ByVal BattleScreen As BattleScreen)
|
||||||
|
Dim y As Integer = -1
|
||||||
|
Dim x As Integer = 0
|
||||||
|
Dim t As String = ""
|
||||||
|
|
||||||
|
With BattleScreen.FieldEffects
|
||||||
|
If .ElectricTerrain > 0 Then
|
||||||
|
x = 352
|
||||||
|
y = 0
|
||||||
|
t = "Electric Terrain"
|
||||||
|
End If
|
||||||
|
If .GrassyTerrain > 0 Then
|
||||||
|
x = 352
|
||||||
|
y = 34
|
||||||
|
t = "Grassy Terrain"
|
||||||
|
End If
|
||||||
|
If .MistyTerrain > 0 Then
|
||||||
|
x = 352
|
||||||
|
y = 68
|
||||||
|
t = "Misty Terrain"
|
||||||
|
End If
|
||||||
|
If .PsychicTerrain > 0 Then
|
||||||
|
x = 352
|
||||||
|
y = 102
|
||||||
|
t = "Psychic Terrain"
|
||||||
|
End If
|
||||||
|
End With
|
||||||
|
|
||||||
|
If y > -1 Then
|
||||||
|
Core.SpriteBatch.Draw(TextureManager.GetTexture("GUI\Battle\WeatherIcons"), New Rectangle(222, Core.windowSize.Height - 90, 176, 68), New Rectangle(x, y, 88, 34), Color.White)
|
||||||
|
Core.SpriteBatch.DrawString(FontManager.MiniFont, t, New Vector2(310 - FontManager.MiniFont.MeasureString(t).X / 2, Core.windowSize.Height - 44), Color.Black)
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@ -268,6 +302,7 @@
|
|||||||
End Select
|
End Select
|
||||||
|
|
||||||
DrawWeather(BattleScreen)
|
DrawWeather(BattleScreen)
|
||||||
|
DrawTerrain(BattleScreen)
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
Public OwnFaint As Boolean = False
|
Public OwnFaint As Boolean = False
|
||||||
Public OppFaint As Boolean = False
|
Public OppFaint As Boolean = False
|
||||||
|
|
||||||
|
'Used for moves like U-turn (self-switch)
|
||||||
|
Public OwnSelfSwitch As Boolean = False
|
||||||
|
Public OppSelfSwitch As Boolean = False
|
||||||
|
|
||||||
'Used for lead picking in PvP Battles
|
'Used for lead picking in PvP Battles
|
||||||
Public Shared OwnLeadIndex As Integer = 0
|
Public Shared OwnLeadIndex As Integer = 0
|
||||||
Public Shared OppLeadIndex As Integer = 0
|
Public Shared OppLeadIndex As Integer = 0
|
||||||
@ -284,7 +288,7 @@
|
|||||||
q3.PassThis = True
|
q3.PassThis = True
|
||||||
|
|
||||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
@ -428,7 +432,7 @@
|
|||||||
q3.PassThis = True
|
q3.PassThis = True
|
||||||
|
|
||||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
@ -680,7 +684,7 @@
|
|||||||
q3.PassThis = True
|
q3.PassThis = True
|
||||||
|
|
||||||
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
Dim q31 As New PlaySoundQueryObject(OwnPokemon.Number.ToString(), True, 3.0F)
|
||||||
Dim q4 As TextQueryObject = New TextQueryObject("GO, " & Me.OwnPokemon.GetDisplayName() & "!")
|
Dim q4 As TextQueryObject = New TextQueryObject("Go, " & Me.OwnPokemon.GetDisplayName() & "!")
|
||||||
|
|
||||||
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
Dim q5 As ToggleMenuQueryObject = New ToggleMenuQueryObject(Me.BattleMenu.Visible)
|
||||||
|
|
||||||
|
@ -10,13 +10,20 @@
|
|||||||
Public OwnTruantRound As Integer = 0 'Truant move counter
|
Public OwnTruantRound As Integer = 0 'Truant move counter
|
||||||
Public OwnImprison As Integer = 0 'Imprison move counter
|
Public OwnImprison As Integer = 0 'Imprison move counter
|
||||||
Public OwnTaunt As Integer = 0 'Taunt move counter
|
Public OwnTaunt As Integer = 0 'Taunt move counter
|
||||||
|
Public OwnTelekinesis As Integer = 0 'Telekinesis move counter
|
||||||
Public OwnRageCounter As Integer = 0 'Rage move counter
|
Public OwnRageCounter As Integer = 0 'Rage move counter
|
||||||
Public OwnUproar As Integer = 0 'Uproar move counter
|
Public OwnUproar As Integer = 0 'Uproar move counter
|
||||||
Public OwnFocusEnergy As Integer = 0 'Focus energy move counter
|
Public OwnFocusEnergy As Integer = 0 'Focus energy move counter
|
||||||
Public OwnEndure As Integer = 0 'Endure move counter
|
Public OwnEndure As Integer = 0 'Endure move counter
|
||||||
Public OwnProtectCounter As Integer = 0 'Protect move counter
|
Public OwnProtectCounter As Integer = 0 'Protect move counter
|
||||||
Public OwnKingsShieldCounter As Integer = 0 'Kings Shield move counter
|
Public OwnKingsShieldCounter As Integer = 0 'Kings Shield move counter
|
||||||
|
Public OwnSpikyShieldCounter As Integer = 0 'Spiky Shield move counter
|
||||||
Public OwnDetectCounter As Integer = 0 'Detect move counter
|
Public OwnDetectCounter As Integer = 0 'Detect move counter
|
||||||
|
Public OwnBanefulBunkerCounter As Integer = 0 'Baneful Bunker move counter
|
||||||
|
Public OwnCraftyShieldCounter As Integer = 0 'Crafty Shield move counter
|
||||||
|
Public OwnMatBlockCounter As Integer = 0 'Mat Block move counter
|
||||||
|
Public OwnWideGuardCounter As Integer = 0 'Wide Guard move counter
|
||||||
|
Public OwnQuickGuardCounter As Integer = 0 'Quick Guard move counter
|
||||||
Public OwnIngrain As Integer = 0 'Ingrain move counter
|
Public OwnIngrain As Integer = 0 'Ingrain move counter
|
||||||
Public OwnSubstitute As Integer = 0 'Substitute HP left
|
Public OwnSubstitute As Integer = 0 'Substitute HP left
|
||||||
Public OwnLuckyChant As Integer = 0 'Lucky chant move counter
|
Public OwnLuckyChant As Integer = 0 'Lucky chant move counter
|
||||||
@ -92,6 +99,7 @@
|
|||||||
Public OwnUsedMoves As New List(Of Integer)
|
Public OwnUsedMoves As New List(Of Integer)
|
||||||
Public OwnMagicCoat As Integer = 0
|
Public OwnMagicCoat As Integer = 0
|
||||||
Public OwnConsumedItem As Item = Nothing
|
Public OwnConsumedItem As Item = Nothing
|
||||||
|
Public OwnSmacked As Integer = 0 'Smack Down effect condition
|
||||||
Public OwnPursuit As Boolean = False
|
Public OwnPursuit As Boolean = False
|
||||||
Public OwnMegaEvolved As Boolean = False
|
Public OwnMegaEvolved As Boolean = False
|
||||||
Public OwnRoostUsed As Boolean = False 'If roost got used, this is true and will get set false and revert types at the end of a turn.
|
Public OwnRoostUsed As Boolean = False 'If roost got used, this is true and will get set false and revert types at the end of a turn.
|
||||||
@ -134,13 +142,20 @@
|
|||||||
Public OppImprison As Integer = 0
|
Public OppImprison As Integer = 0
|
||||||
Public OppHealBlock As Integer = 0
|
Public OppHealBlock As Integer = 0
|
||||||
Public OppTaunt As Integer = 0
|
Public OppTaunt As Integer = 0
|
||||||
|
Public OppTelekinesis As Integer = 0
|
||||||
Public OppRageCounter As Integer = 0
|
Public OppRageCounter As Integer = 0
|
||||||
Public OppUproar As Integer = 0
|
Public OppUproar As Integer = 0
|
||||||
Public OppFocusEnergy As Integer = 0
|
Public OppFocusEnergy As Integer = 0
|
||||||
Public OppEndure As Integer = 0
|
Public OppEndure As Integer = 0
|
||||||
Public OppProtectCounter As Integer = 0
|
Public OppProtectCounter As Integer = 0
|
||||||
Public OppKingsShieldCounter As Integer = 0
|
Public OppKingsShieldCounter As Integer = 0
|
||||||
|
Public OppSpikyShieldCounter As Integer = 0
|
||||||
Public OppDetectCounter As Integer = 0
|
Public OppDetectCounter As Integer = 0
|
||||||
|
Public OppBanefulBunkerCounter As Integer = 0
|
||||||
|
Public OppCraftyShieldCounter As Integer = 0
|
||||||
|
Public OppMatBlockCounter As Integer = 0
|
||||||
|
Public OppWideGuardCounter As Integer = 0
|
||||||
|
Public OppQuickGuardCounter As Integer = 0
|
||||||
Public OppIngrain As Integer = 0
|
Public OppIngrain As Integer = 0
|
||||||
Public OppSubstitute As Integer = 0
|
Public OppSubstitute As Integer = 0
|
||||||
Public OppSafeguard As Integer = 0
|
Public OppSafeguard As Integer = 0
|
||||||
@ -204,6 +219,7 @@
|
|||||||
Public OppPokemonDamagedLastTurn As Boolean = False
|
Public OppPokemonDamagedLastTurn As Boolean = False
|
||||||
Public OppMagicCoat As Integer = 0
|
Public OppMagicCoat As Integer = 0
|
||||||
Public OppConsumedItem As Item = Nothing
|
Public OppConsumedItem As Item = Nothing
|
||||||
|
Public OppSmacked As Integer = 0
|
||||||
Public OppPursuit As Boolean = False
|
Public OppPursuit As Boolean = False
|
||||||
Public OppMegaEvolved As Boolean = False
|
Public OppMegaEvolved As Boolean = False
|
||||||
Public OppRoostUsed As Boolean = False
|
Public OppRoostUsed As Boolean = False
|
||||||
@ -253,6 +269,11 @@
|
|||||||
Public Rounds As Integer = 0
|
Public Rounds As Integer = 0
|
||||||
Public AmuletCoin As Integer = 0
|
Public AmuletCoin As Integer = 0
|
||||||
|
|
||||||
|
Public ElectricTerrain As Integer = 0
|
||||||
|
Public GrassyTerrain As Integer = 0
|
||||||
|
Public MistyTerrain As Integer = 0
|
||||||
|
Public PsychicTerrain As Integer = 0
|
||||||
|
|
||||||
'Special stuff
|
'Special stuff
|
||||||
Public RunTries As Integer = 0
|
Public RunTries As Integer = 0
|
||||||
Public UsedPokemon As New List(Of Integer)
|
Public UsedPokemon As New List(Of Integer)
|
||||||
@ -325,6 +346,63 @@
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function IsGrounded(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Boolean
|
||||||
|
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||||
|
Dim grounded As Boolean = True
|
||||||
|
If own = True Then
|
||||||
|
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OwnSmacked > 0 Or BattleScreen.FieldEffects.OwnIngrain > 0 Then
|
||||||
|
grounded = True
|
||||||
|
Else
|
||||||
|
If BattleScreen.FieldEffects.OwnTelekinesis > 0 Or BattleScreen.FieldEffects.OwnMagnetRise > 0 Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If Not p.Item Is Nothing Then
|
||||||
|
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(True) = True And BattleScreen.FieldEffects.CanUseOwnItem(True, BattleScreen) = True Then
|
||||||
|
grounded = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If OwnBounceCounter > 0 Or OwnDigCounter > 0 Or OwnDiveCounter > 0 Or OwnFlyCounter > 0 Or OwnPhantomForceCounter > 0 Or OwnShadowForceCounter > 0 Or OwnSkyDropCounter > 0 Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
p = BattleScreen.OppPokemon
|
||||||
|
If p.Type1.Type = Element.Types.Flying Or p.Type2.Type = Element.Types.Flying Or p.Ability.Name.ToLower() = "levitate" And BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen) = True Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If BattleScreen.FieldEffects.Gravity > 0 Or BattleScreen.FieldEffects.OppSmacked > 0 Or BattleScreen.FieldEffects.OppIngrain > 0 Then
|
||||||
|
grounded = True
|
||||||
|
Else
|
||||||
|
If BattleScreen.FieldEffects.OppTelekinesis > 0 Or BattleScreen.FieldEffects.OppMagnetRise > 0 Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If Not p.Item Is Nothing Then
|
||||||
|
If p.Item.Name.ToLower() = "air balloon" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
If p.Item.Name.ToLower() = "iron ball" And BattleScreen.FieldEffects.CanUseItem(False) = True And BattleScreen.FieldEffects.CanUseOwnItem(False, BattleScreen) = True Then
|
||||||
|
grounded = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If OppBounceCounter > 0 Or OppDigCounter > 0 Or OppDiveCounter > 0 Or OppFlyCounter > 0 Or OppPhantomForceCounter > 0 Or OppShadowForceCounter > 0 Or OppSkyDropCounter > 0 Then
|
||||||
|
grounded = False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If grounded = True Then
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Function GetPokemonWeight(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Single
|
Public Function GetPokemonWeight(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Single
|
||||||
Dim p As Pokemon = BattleScreen.OwnPokemon
|
Dim p As Pokemon = BattleScreen.OwnPokemon
|
||||||
Dim op As Pokemon = BattleScreen.OppPokemon
|
Dim op As Pokemon = BattleScreen.OppPokemon
|
||||||
|
@ -117,6 +117,10 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public Taunted As Integer = 0
|
Public Taunted As Integer = 0
|
||||||
''' <summary>
|
''' <summary>
|
||||||
|
''' Telekinesis move counter, if true, Pokémon will always be hit.
|
||||||
|
''' </summary>
|
||||||
|
Public Telekinesis As Integer = 0
|
||||||
|
''' <summary>
|
||||||
''' If the Pokémon is affected by Embargo.
|
''' If the Pokémon is affected by Embargo.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public Embargo As Integer = 0
|
Public Embargo As Integer = 0
|
||||||
@ -353,6 +357,30 @@
|
|||||||
''' King's Shield move counter.
|
''' King's Shield move counter.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public KingsShield As Integer = 0
|
Public KingsShield As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Spiky Shield move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public SpikyShield As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Baneful Bunker move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public BanefulBunker As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Crafty Shield move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public CraftyShield As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Mat Block move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public MatBlock As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Wide Guard move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public WideGuard As Integer = 0
|
||||||
|
''' <summary>
|
||||||
|
''' Quick Guard move counter.
|
||||||
|
''' </summary>
|
||||||
|
Public QuickGuard As Integer = 0
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Ingrain move counter.
|
''' Ingrain move counter.
|
||||||
@ -375,6 +403,10 @@
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
Public Cursed As Integer = 0
|
Public Cursed As Integer = 0
|
||||||
''' <summary>
|
''' <summary>
|
||||||
|
''' If the Pokémon is affected by Grounding.
|
||||||
|
''' </summary>
|
||||||
|
Public Smacked As Integer = 0
|
||||||
|
''' <summary>
|
||||||
''' Turns until Perish Song faints Pokémon.
|
''' Turns until Perish Song faints Pokémon.
|
||||||
''' </summary>
|
''' </summary>
|
||||||
Public PerishSong As Integer = 0
|
Public PerishSong As Integer = 0
|
||||||
@ -436,12 +468,19 @@
|
|||||||
Me.SleepTurns = 0
|
Me.SleepTurns = 0
|
||||||
Me.TruantRound = 0
|
Me.TruantRound = 0
|
||||||
Me.Taunted = 0
|
Me.Taunted = 0
|
||||||
|
Me.Telekinesis = 0
|
||||||
Me.Rage = 0
|
Me.Rage = 0
|
||||||
Me.Uproar = 0
|
Me.Uproar = 0
|
||||||
Me.Endure = 0
|
Me.Endure = 0
|
||||||
Me.Protect = 0
|
Me.Protect = 0
|
||||||
Me.Detect = 0
|
Me.Detect = 0
|
||||||
Me.KingsShield = 0
|
Me.KingsShield = 0
|
||||||
|
Me.SpikyShield = 0
|
||||||
|
Me.BanefulBunker = 0
|
||||||
|
Me.CraftyShield = 0
|
||||||
|
Me.MatBlock = 0
|
||||||
|
Me.WideGuard = 0
|
||||||
|
Me.QuickGuard = 0
|
||||||
Me.ProtectMoveCounter = 0
|
Me.ProtectMoveCounter = 0
|
||||||
Me.ToxicRound = 0
|
Me.ToxicRound = 0
|
||||||
Me.Nightmare = 0
|
Me.Nightmare = 0
|
||||||
@ -495,6 +534,7 @@
|
|||||||
Me.Bide = 0
|
Me.Bide = 0
|
||||||
Me.BideDamage = 0
|
Me.BideDamage = 0
|
||||||
Me.Roost = 0
|
Me.Roost = 0
|
||||||
|
Me.Smacked = 0
|
||||||
|
|
||||||
'If Baton Pass is not used to switch, also reset these variables:
|
'If Baton Pass is not used to switch, also reset these variables:
|
||||||
If BatonPassed = False Then
|
If BatonPassed = False Then
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -6,17 +6,17 @@ version=2
|
|||||||
:endif
|
:endif
|
||||||
|
|
||||||
:if:<register.registered(clairtmget)>=False <and> <register.registered(ddenquizpass)>=True
|
:if:<register.registered(clairtmget)>=False <and> <register.registered(ddenquizpass)>=True
|
||||||
@player.move(0)
|
|
||||||
@npc.warp(0,11,0,26)
|
@npc.warp(0,11,0,26)
|
||||||
|
@player.move(0)
|
||||||
|
@level.update
|
||||||
@text.show(Wait!)
|
@text.show(Wait!)
|
||||||
@npc.turn(0,3)
|
@npc.turn(0,3)
|
||||||
@player.move(0)
|
|
||||||
@player.turnto(1)
|
@player.turnto(1)
|
||||||
@npc.move(0,3)
|
@npc.move(0,3)
|
||||||
@text.show(Clair: I'm sorry~about this.*Here, take this as~my apology.)
|
@text.show(Clair: I'm sorry~about this.*Here, take this as~my apology.)
|
||||||
@item.give(214,1)
|
@item.give(214,1)
|
||||||
@item.messagegive(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.)
|
@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)
|
@register.register(clairtmget)
|
||||||
:endif
|
:endif
|
||||||
|
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.
BIN
P3D/Content/Data/Scripts/fuchsia/rarestore1.dat
Normal file
BIN
P3D/Content/Data/Scripts/fuchsia/rarestore1.dat
Normal file
Binary file not shown.
BIN
P3D/Content/Data/Scripts/fuchsia/rarestoremap.dat
Normal file
BIN
P3D/Content/Data/Scripts/fuchsia/rarestoremap.dat
Normal file
Binary file not shown.
@ -23,18 +23,23 @@ version=2
|
|||||||
@register.register(clubintro)
|
@register.register(clubintro)
|
||||||
:endif
|
: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
|
:if:<system.random(7)>=5
|
||||||
@register.registertime(EusineHere,20,hour)
|
@register.registertime(EusineHere,20,hour)
|
||||||
|
:else
|
||||||
|
@register.registertime(EusineNotHere,20,hour)
|
||||||
:endif
|
:endif
|
||||||
: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
|
:if:<system.random(10)>=5
|
||||||
@register.registertime(LiHere,4,hour)
|
@register.registertime(LiHere,4,hour)
|
||||||
@register.registertime(LiNotHere,3,day)
|
@register.registertime(LiNotHere,3,day)
|
||||||
|
:else
|
||||||
|
@register.registertime(LiNotHere,1,day)
|
||||||
:endif
|
:endif
|
||||||
:endif
|
:endif
|
||||||
|
|
||||||
:if:<Register.registered(LiHere)>=true
|
:if:<Register.registered(LiHere)>=true
|
||||||
@npc.warp(19,~,0.2,~)
|
@npc.warp(19,~,0.2,~)
|
||||||
:endif
|
:endif
|
||||||
@ -42,9 +47,9 @@ version=2
|
|||||||
:if:<Environment.day>=Sunday
|
:if:<Environment.day>=Sunday
|
||||||
:if:<Environment.hour><4 <and> <Environment.hour>>0
|
:if:<Environment.hour><4 <and> <Environment.hour>>0
|
||||||
:if:<register.registered(TRTPrematchTalk)>=true
|
:if:<register.registered(TRTPrematchTalk)>=true
|
||||||
@npc.warp(30,~,3.2,~)
|
@npc.warp(20,~,3.2,~)
|
||||||
@npc.warp(31,~,3.2,~)
|
@npc.warp(21,~,3.2,~)
|
||||||
@npc.warp(32,~,3.2,~)
|
@npc.warp(22,~,3.2,~)
|
||||||
:endif
|
:endif
|
||||||
:endif
|
:endif
|
||||||
:if:<Environment.hour><12 <and> <Environment.hour>>5
|
:if:<Environment.hour><12 <and> <Environment.hour>>5
|
||||||
@ -259,9 +264,9 @@ version=2
|
|||||||
:endif
|
:endif
|
||||||
@register.register(clubextendinvite)
|
@register.register(clubextendinvite)
|
||||||
:if:<register.registered(shrinecelebi)>=true
|
:if:<register.registered(shrinecelebi)>=true
|
||||||
@npc.register(tohjofalls\hideout.dat|3|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|3|position|3,0,0)
|
||||||
@npc.register(tohjofalls\hideout.dat|4|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|4|position|4,0,1)
|
||||||
@npc.register(tohjofalls\hideout.dat|5|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|5|position|5,0,0)
|
||||||
:endif
|
:endif
|
||||||
:endif
|
:endif
|
||||||
:end
|
:end
|
||||||
|
@ -2,29 +2,27 @@ version=2
|
|||||||
|
|
||||||
@text.show(It is an old shrine.)
|
@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.ot(0)>=42069 <and> <pokemon.isshiny(0)>=true <and> <pokemon.catchball(0)>=45 <and> <register.registered(spiky)>=false
|
||||||
:if:<pokemon.count>>5
|
:if:<pokemon.count>>5
|
||||||
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
|
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
|
||||||
:end
|
:end
|
||||||
:else
|
:else
|
||||||
@script.start(ilex/spiky)
|
@script.start(ilex/spiky)
|
||||||
:end
|
:end
|
||||||
:endif
|
|
||||||
:endif
|
:endif
|
||||||
|
:endif
|
||||||
|
|
||||||
:if:<register.registered(shrinecelebi)>=false <and> <inventory.countitem(115)>>0
|
:if:<register.registered(shrinecelebi)>=false <and> <inventory.countitem(115)>>0
|
||||||
@text.show(The GS Ball is~reacting to the shrine!)
|
@text.show(The GS Ball is~reacting to the shrine!)
|
||||||
:if:<pokemon.count>>5
|
:if:<pokemon.count>>5
|
||||||
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
|
@text.show(Something seems wrong.*Maybe you should come~back with less Pokémon?)
|
||||||
:end
|
:end
|
||||||
:else
|
:else
|
||||||
|
@text.show(Place the GS Ball~in the shrine?)
|
||||||
@text.show(Place the GS Ball~in the shrine?)
|
|
||||||
@options.show(Yes,No)
|
@options.show(Yes,No)
|
||||||
:when:Yes
|
:when:Yes
|
||||||
@camera.reset
|
@camera.reset
|
||||||
:if:<system.random(1,2048)>=1
|
:if:<system.random(1,2048)>=1
|
||||||
:then
|
|
||||||
@register.register(shinycelebi)
|
@register.register(shinycelebi)
|
||||||
:else
|
:else
|
||||||
@register.unregister(shinycelebi)
|
@register.unregister(shinycelebi)
|
||||||
@ -73,7 +71,6 @@ version=2
|
|||||||
@npc.turn(9,1)
|
@npc.turn(9,1)
|
||||||
|
|
||||||
:if:<register.registered(shinycelebi)>=true
|
:if:<register.registered(shinycelebi)>=true
|
||||||
:then
|
|
||||||
@npc.wearskin(10,[POKEMON|S]251)
|
@npc.wearskin(10,[POKEMON|S]251)
|
||||||
@level.update
|
@level.update
|
||||||
:endif
|
:endif
|
||||||
@ -108,7 +105,6 @@ version=2
|
|||||||
|
|
||||||
@camera.set(0,0.4,3,1,0)
|
@camera.set(0,0.4,3,1,0)
|
||||||
:if:<register.registered(shinycelebi)>=true
|
:if:<register.registered(shinycelebi)>=true
|
||||||
:then
|
|
||||||
@npc.wearskin(0,[POKEMON|S]251)
|
@npc.wearskin(0,[POKEMON|S]251)
|
||||||
@level.update
|
@level.update
|
||||||
:endif
|
:endif
|
||||||
@ -220,7 +216,6 @@ version=2
|
|||||||
|
|
||||||
@camera.set(0,1,3.75,5,-0.25)
|
@camera.set(0,1,3.75,5,-0.25)
|
||||||
:if:<register.registered(shinycelebi)>=true
|
:if:<register.registered(shinycelebi)>=true
|
||||||
:then
|
|
||||||
@npc.wearskin(0,[POKEMON|S]251)
|
@npc.wearskin(0,[POKEMON|S]251)
|
||||||
@level.update
|
@level.update
|
||||||
:endif
|
:endif
|
||||||
@ -318,15 +313,14 @@ version=2
|
|||||||
@sound.play(teleport)
|
@sound.play(teleport)
|
||||||
@player.warp(ilexforest.dat,10,0.1,26,0)
|
@player.warp(ilexforest.dat,10,0.1,26,0)
|
||||||
:if:<register.registered(clubextendinvite)>=true
|
:if:<register.registered(clubextendinvite)>=true
|
||||||
@npc.register(tohjofalls\hideout.dat|3|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|3|position|3,0,0)
|
||||||
@npc.register(tohjofalls\hideout.dat|4|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|4|position|4,0,1)
|
||||||
@npc.register(tohjofalls\hideout.dat|5|position|~,0,~)
|
@npc.register(tohjofalls\hideout.dat|5|position|5,0,0)
|
||||||
:endif
|
:endif
|
||||||
@level.update
|
@level.update
|
||||||
|
|
||||||
@camera.set(0.8,1.5,3,1.15,-0.5)
|
@camera.set(0.8,1.5,3,1.15,-0.5)
|
||||||
:if:<register.registered(shinycelebi)>=true
|
:if:<register.registered(shinycelebi)>=true
|
||||||
:then
|
|
||||||
@npc.wearskin(10,[POKEMON|S]251)
|
@npc.wearskin(10,[POKEMON|S]251)
|
||||||
@level.update
|
@level.update
|
||||||
:endif
|
:endif
|
||||||
@ -350,7 +344,6 @@ version=2
|
|||||||
@pokemon.add(251,60,Obtained at,115,Ilex Forest)
|
@pokemon.add(251,60,Obtained at,115,Ilex Forest)
|
||||||
|
|
||||||
:if:<register.registered(shinycelebi)>=true
|
:if:<register.registered(shinycelebi)>=true
|
||||||
:then
|
|
||||||
@pokemon.setshiny(<pokemon.count>-1,1)
|
@pokemon.setshiny(<pokemon.count>-1,1)
|
||||||
:else
|
:else
|
||||||
@pokemon.setshiny(<pokemon.count>-1,0)
|
@pokemon.setshiny(<pokemon.count>-1,0)
|
||||||
@ -376,7 +369,6 @@ version=2
|
|||||||
@level.wait(30)
|
@level.wait(30)
|
||||||
@camera.reset
|
@camera.reset
|
||||||
@player.achieveemblem(time)
|
@player.achieveemblem(time)
|
||||||
|
|
||||||
:when:No
|
:when:No
|
||||||
:end
|
:end
|
||||||
:endwhen
|
:endwhen
|
||||||
|
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2064.dat
Normal file
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2064.dat
Normal file
Binary file not shown.
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2065.dat
Normal file
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2065.dat
Normal file
Binary file not shown.
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2066.dat
Normal file
BIN
P3D/Content/Data/Scripts/kin/berryforestitems/2066.dat
Normal file
Binary file not shown.
BIN
P3D/Content/Data/Scripts/league/rarestore1.dat
Normal file
BIN
P3D/Content/Data/Scripts/league/rarestore1.dat
Normal file
Binary file not shown.
Binary file not shown.
BIN
P3D/Content/Data/Scripts/marts/pewter.dat
Normal file
BIN
P3D/Content/Data/Scripts/marts/pewter.dat
Normal file
Binary file not shown.
@ -7,7 +7,7 @@ version=2
|
|||||||
@level.wait(30)
|
@level.wait(30)
|
||||||
@register.register(pokedex_national)
|
@register.register(pokedex_national)
|
||||||
@register.register(nationaldex)
|
@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.give(284,1)
|
||||||
@item.messagegive(284,1)
|
@item.messagegive(284,1)
|
||||||
@register.register(rainbowpass)
|
@register.register(rainbowpass)
|
||||||
@ -32,7 +32,7 @@ version=2
|
|||||||
:endif
|
:endif
|
||||||
|
|
||||||
:if:<register.registered(clubextendinvite)>=true <and> <register.registered(kantostart1)>=true <and> <register.registered(OakPrematchTalk)>=false
|
: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)
|
@register.register(OakPrematchTalk)
|
||||||
:end
|
:end
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(BugsyRematchTalk)>=false
|
: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.register(BugsyRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(ClairRematchTalk)>=false
|
: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.register(ClairRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(ChuckRematchTalk)>=false
|
: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.register(ChuckRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(MortyRematchTalk)>=false
|
: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.register(MortyRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -10,9 +10,9 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|75,54
|
Pokemon1|76,54,alola
|
||||||
Pokemon2|208,54
|
Pokemon2|208,54
|
||||||
Pokemon3|75,54
|
Pokemon3|76,54
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
Pokemon5|
|
Pokemon5|
|
||||||
Pokemon6|
|
Pokemon6|
|
||||||
|
@ -10,7 +10,7 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|76,57
|
Pokemon1|76,57,alola
|
||||||
Pokemon2|
|
Pokemon2|
|
||||||
Pokemon3|
|
Pokemon3|
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
|
@ -10,7 +10,7 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|26,55
|
Pokemon1|26,55,alola
|
||||||
Pokemon2|26,55
|
Pokemon2|26,55
|
||||||
Pokemon3|
|
Pokemon3|
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
|
@ -11,7 +11,7 @@ IniMusic|johto_trainer_intro
|
|||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|26,55
|
Pokemon1|26,55
|
||||||
Pokemon2|26,55
|
Pokemon2|26,55,alola
|
||||||
Pokemon3|
|
Pokemon3|
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
Pokemon5|
|
Pokemon5|
|
||||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(WhitneyRematchTalk)>=false
|
: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.register(WhitneyRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
@ -18,10 +18,10 @@ version=2
|
|||||||
:endif
|
:endif
|
||||||
|
|
||||||
:if:<register.registered(defeat_whitney_2)>=True
|
: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.GetBadge(11)
|
||||||
@player.AchieveEmblem(plain)
|
@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)
|
@register.register(plainbadge_obtain)
|
||||||
@text.show(Oh, you can have this, too!)
|
@text.show(Oh, you can have this, too!)
|
||||||
@item.give(235,1)
|
@item.give(235,1)
|
||||||
|
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.
@ -1,8 +1,8 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(<storage.get(string,leader)>rematch)>=false
|
:if:<register.registered(<storage.get(string,leader)>rematch)>=false
|
||||||
@text.show(<battle.intromessage(gymrematch\\<storage.get(string,leader)>)>)
|
@text.show(<battle.intromessage(gymrematch\<storage.get(string,leader)>)>)
|
||||||
@battle.trainer(gymrematch\\<storage.get(string,leader)>)
|
@battle.trainer(gymrematch\<storage.get(string,leader)>)
|
||||||
@register.registertime(<storage.get(string,leader)>rematch,12,hours)
|
@register.registertime(<storage.get(string,leader)>rematch,12,hours)
|
||||||
:endif
|
:endif
|
||||||
@text.show(<battle.defeatmessage(gymrematch\\<storage.get(string,leader)>)>)
|
@text.show(<battle.defeatmessage(gymrematch\<storage.get(string,leader)>)>)
|
||||||
:end
|
:end
|
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubextendinvite)>=true <and> <register.registered(mortytruerematch)>=true <and> <register.registered(EusineRematchTalk)>=false
|
: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)
|
@register.register(EusineRematchTalk)
|
||||||
:end
|
:end
|
||||||
:endif
|
:endif
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(JasmineRematchTalk)>=false
|
: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.register(JasmineRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
Binary file not shown.
@ -10,7 +10,7 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|51,52
|
Pokemon1|51,52,alola
|
||||||
Pokemon2|108,52
|
Pokemon2|108,52
|
||||||
Pokemon3|217,52
|
Pokemon3|217,52
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
|
@ -11,8 +11,8 @@ IniMusic|johto_trainer_intro
|
|||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|465,56
|
Pokemon1|465,56
|
||||||
Pokemon2|103,55
|
Pokemon2|103,55,alola
|
||||||
Pokemon3|103,56
|
Pokemon3|103,56.alola
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
Pokemon5|
|
Pokemon5|
|
||||||
Pokemon6|
|
Pokemon6|
|
||||||
|
@ -10,9 +10,9 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
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]}
|
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]}{"HP"[119]}{"EVs"[0,0,0,0,0,0]}{"IVs"[29,26,13,12,5,2]}
|
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]}{"HP"[151]}{"EVs"[0,0,0,0,0,0]}{"IVs"[14,14,26,11,11,28]}
|
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|
|
Pokemon4|
|
||||||
Pokemon5|
|
Pokemon5|
|
||||||
Pokemon6|
|
Pokemon6|
|
||||||
|
@ -12,10 +12,10 @@ DefeatMusic|trainer_defeat
|
|||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|464,61
|
Pokemon1|464,61
|
||||||
Pokemon2|80,59
|
Pokemon2|80,59
|
||||||
Pokemon3|67,60
|
Pokemon3|68,60
|
||||||
Pokemon4|115,58
|
Pokemon4|115,58
|
||||||
Pokemon5|28,61
|
Pokemon5|28,61,alola
|
||||||
Pokemon6|89,60
|
Pokemon6|89,60,alola
|
||||||
Items|14,14,14
|
Items|14,14,14
|
||||||
Gender|0
|
Gender|0
|
||||||
AI|2
|
AI|2
|
||||||
|
@ -10,9 +10,9 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|53,58
|
Pokemon1|53,58,alola
|
||||||
Pokemon2|523,60
|
Pokemon2|523,60
|
||||||
Pokemon3|38,61
|
Pokemon3|38,61,alola
|
||||||
Pokemon4|78,59
|
Pokemon4|78,59
|
||||||
Pokemon5|196,61
|
Pokemon5|196,61
|
||||||
Pokemon6|673,60
|
Pokemon6|673,60
|
||||||
|
@ -10,7 +10,7 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|105,54
|
Pokemon1|105,54,alola
|
||||||
Pokemon2|55,54
|
Pokemon2|55,54
|
||||||
Pokemon3|
|
Pokemon3|
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
|
@ -10,9 +10,9 @@ Region|Sevii Islands
|
|||||||
IniMusic|johto_trainer_intro
|
IniMusic|johto_trainer_intro
|
||||||
DefeatMusic|trainer_defeat
|
DefeatMusic|trainer_defeat
|
||||||
BattleMusic|johto_trainer
|
BattleMusic|johto_trainer
|
||||||
Pokemon1|75,52
|
Pokemon1|75,52,alola
|
||||||
Pokemon2|76,54
|
Pokemon2|76,54,alola
|
||||||
Pokemon3|76,54
|
Pokemon3|76,54,alola
|
||||||
Pokemon4|
|
Pokemon4|
|
||||||
Pokemon5|
|
Pokemon5|
|
||||||
Pokemon6|
|
Pokemon6|
|
||||||
|
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.
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(earthbadge_obtain)>=true <and> <register.registered(SurgeRematchTalk)>=false
|
: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.register(SurgeRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
version=2
|
version=2
|
||||||
:if:<register.registered(clubintro)>=true <and> <register.registered(FalknerRematchTalk)>=false
|
: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.register(FalknerRematchTalk)
|
||||||
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
@register.change(clubregisters,<register.value(clubregisters)>+1)
|
||||||
:end
|
:end
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
P3D/Content/Data/Scripts/vermilion/crunchies.dat
Normal file
BIN
P3D/Content/Data/Scripts/vermilion/crunchies.dat
Normal file
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.
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
Loading…
x
Reference in New Issue
Block a user