mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-29 16:54:56 +02:00
Fix GM move functions not taking opp in account...
When a move with an effect used by an opponent pokémon, the effect target didn't get swapped.
This commit is contained in:
parent
41c5d35864
commit
9a6a6d7999
@ -19,6 +19,8 @@
|
||||
Dim fMain As String = f
|
||||
Dim fSub As String = ""
|
||||
|
||||
Dim EffectTarget As Boolean = Not own
|
||||
|
||||
Select Case f.GetSplit(0, ",").ToLower
|
||||
Case "settrigger"
|
||||
Trigger = f.GetSplit(1, ",") & "," & f.GetSplit(2, ",")
|
||||
@ -28,6 +30,9 @@
|
||||
|
||||
If Trigger <> "" Then
|
||||
Dim Target As Boolean = CBool(Trigger.GetSplit(0, ","))
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
Dim Triggers() As String = Trigger.GetSplit(1, ",").Split(";")
|
||||
Dim Success As Boolean = False
|
||||
For t = 0 To Triggers.Count - 1
|
||||
@ -220,9 +225,15 @@
|
||||
OppPokemon = BattleScreen.OwnPokemon
|
||||
End If
|
||||
|
||||
fSub = Localization.GetString(fSub, fSub).Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
If own = True Then
|
||||
fSub = Localization.GetString(fSub, fSub).Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
fSub = Localization.GetString(fSub, fSub).Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(fSub))
|
||||
Case "raisestat", "increasestat"
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim Stat As String = f.GetSplit(1, ",")
|
||||
Dim Target As Boolean = own
|
||||
Dim Message As String = ""
|
||||
@ -234,8 +245,17 @@
|
||||
If f.GetSplit(2, ",") <> "" Then
|
||||
Target = CBool(f.GetSplit(2, ","))
|
||||
End If
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
Message = f.GetSplit(3, ",")
|
||||
If own = True Then
|
||||
Message = Message.Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = Message.Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
|
||||
If f.Split(CChar(",")).Count > 4 Then
|
||||
If f.GetSplit(4, ",") <> "" Then
|
||||
If CInt(f.GetSplit(4, ",")) > 0 Then
|
||||
@ -257,9 +277,11 @@
|
||||
End If
|
||||
RaiseStat(Move, own, Stat, Target, Message, RaiseAmount, Chance, FailMessage, BattleScreen)
|
||||
Case "lowerstat", "decreasestat"
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim Stat As String = f.GetSplit(1, ",")
|
||||
Dim Message As String = ""
|
||||
Dim Target As Boolean = own
|
||||
Dim Target As Boolean = not own
|
||||
Dim LowerAmount As Integer = 1
|
||||
Dim Chance As Integer = 100
|
||||
Dim FailMessage As String = ""
|
||||
@ -268,8 +290,17 @@
|
||||
If f.GetSplit(2, ",") <> "" Then
|
||||
Target = CBool(f.GetSplit(2, ","))
|
||||
End If
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
Message = f.GetSplit(3, ",")
|
||||
If own = True Then
|
||||
Message = Message.Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = Message.Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
|
||||
If f.Split(CChar(",")).Count > 4 Then
|
||||
If f.GetSplit(4, ",") <> "" Then
|
||||
If CInt(f.GetSplit(4, ",")) > 0 Then
|
||||
@ -293,7 +324,13 @@
|
||||
End If
|
||||
LowerStat(Move, own, Stat, Target, Message, LowerAmount, Chance, FailMessage, BattleScreen)
|
||||
Case "reducehp", "drainhp", "damage"
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim Target As Boolean = CBool(f.GetSplit(1, ","))
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
|
||||
Dim HPAmount As Integer = 0
|
||||
Dim Message As String = ""
|
||||
|
||||
@ -301,11 +338,22 @@
|
||||
HPAmount = CInt(f.GetSplit(2, ","))
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
Message = f.GetSplit(3, ",")
|
||||
If own = True Then
|
||||
Message = Message.Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = Message.Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
BattleScreen.Battle.ReduceHP(HPAmount, Target, own, BattleScreen, Message, "move:" & Move.Name.ToLower)
|
||||
Case "gainhp", "increasehp", "heal"
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim Target As Boolean = CBool(f.GetSplit(1, ","))
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
|
||||
Dim HPAmount As Integer = 0
|
||||
Dim Message As String = ""
|
||||
|
||||
@ -313,6 +361,11 @@
|
||||
HPAmount = CInt(f.GetSplit(2, ","))
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
Message = f.GetSplit(3, ",")
|
||||
If own = True Then
|
||||
Message = Message.Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = Message.Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
BattleScreen.Battle.GainHP(HPAmount, Target, own, BattleScreen, Message, "move:" & Move.Name.ToLower)
|
||||
@ -325,11 +378,16 @@
|
||||
BattleScreen.BattleQuery.Add(New EndBattleQueryObject(Blackout))
|
||||
Case "faint"
|
||||
Dim Target As Boolean = CBool(f.GetSplit(1, ","))
|
||||
If own = False Then
|
||||
Target = Not Target
|
||||
End If
|
||||
|
||||
Dim Message As String = ""
|
||||
Dim NextPokemonIndex As Integer = -1
|
||||
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
|
||||
If Target = False Then
|
||||
OwnPokemon = BattleScreen.OppPokemon
|
||||
OppPokemon = BattleScreen.OwnPokemon
|
||||
@ -348,16 +406,27 @@
|
||||
BattleScreen.NextPokemonIndex = NextPokemonIndex
|
||||
|
||||
If f.Split(CChar(",")).Count > 2 Then
|
||||
Message = f.GetSplit(2, ",").Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
If own = True Then
|
||||
Message = f.GetSplit(2, ",").Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = f.GetSplit(2, ",").Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
End If
|
||||
BattleScreen.Battle.FaintPokemon(Not Target, BattleScreen, Message)
|
||||
Case "switch"
|
||||
Dim OppPokemon As Pokemon = BattleScreen.OppPokemon
|
||||
Dim OwnPokemon As Pokemon = BattleScreen.OwnPokemon
|
||||
Dim Target As Boolean = CBool(f.GetSplit(1, ","))
|
||||
Dim SwitchTo As Integer = 0
|
||||
Dim Message As String = ""
|
||||
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
Message = f.GetSplit(3, ",")
|
||||
If own = True Then
|
||||
Message = Message.Replace("[OPPNAME]", OppPokemon.GetDisplayName).Replace("[OWNNAME]", OwnPokemon.GetDisplayName)
|
||||
Else
|
||||
Message = Message.Replace("[OWNNAME]", OppPokemon.GetDisplayName).Replace("[OPPNAME]", OwnPokemon.GetDisplayName)
|
||||
End If
|
||||
End If
|
||||
If Target = True Then
|
||||
If f.GetSplit(2, ",").StartsWith("~+") Then
|
||||
@ -381,8 +450,14 @@
|
||||
If f.Split(CChar(",")).Count > 2 Then
|
||||
fSub &= "," & f.GetSplit(2, ",")
|
||||
End If
|
||||
If f.Split(CChar(",")).Count > 3 Then
|
||||
EffectTarget = CBool(f.GetSplit(3, ","))
|
||||
End If
|
||||
Case Else
|
||||
fSub = CInt(f.GetSplit(1, ",")).Clamp(0, 100).ToString
|
||||
If f.Split(CChar(",")).Count > 2 Then
|
||||
EffectTarget = CBool(f.GetSplit(2, ","))
|
||||
End If
|
||||
End Select
|
||||
Else
|
||||
Select Case f.ToLower()
|
||||
@ -403,50 +478,52 @@
|
||||
End Select
|
||||
End If
|
||||
|
||||
If own = False Then
|
||||
EffectTarget = Not EffectTarget
|
||||
End If
|
||||
Select Case fMain.ToLower()
|
||||
Case "flinch"
|
||||
Flinch(Move, own, BattleScreen, CInt(fSub))
|
||||
Flinch(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "randomstatus"
|
||||
Dim chance As Integer = CInt(fSub.GetSplit(0, ","))
|
||||
Dim withoutBadPoison As Boolean = False
|
||||
If fSub.Contains(",") Then
|
||||
withoutBadPoison = CBool(fSub.GetSplit(1, ","))
|
||||
End If
|
||||
|
||||
Dim randomNumber As Integer = Core.Random.Next(0, 7)
|
||||
If withoutBadPoison = True Then
|
||||
randomNumber = Core.Random.Next(0, 6)
|
||||
End If
|
||||
Select Case randomNumber
|
||||
Case 0
|
||||
Paralyze(Move, own, BattleScreen, CInt(fSub))
|
||||
Paralyze(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 1
|
||||
Poison(Move, own, BattleScreen, CInt(fSub))
|
||||
Poison(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 2
|
||||
Burn(Move, own, BattleScreen, CInt(fSub))
|
||||
Burn(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 3
|
||||
Freeze(Move, own, BattleScreen, CInt(fSub))
|
||||
Freeze(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 4
|
||||
Sleep(Move, own, BattleScreen, CInt(fSub))
|
||||
Sleep(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 5
|
||||
Confuse(Move, own, BattleScreen, CInt(fSub))
|
||||
Confuse(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case 6
|
||||
BadPoison(Move, own, BattleScreen, CInt(fSub))
|
||||
BadPoison(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
End Select
|
||||
Case "paralyze"
|
||||
Paralyze(Move, own, BattleScreen, CInt(fSub))
|
||||
Paralyze(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "poison"
|
||||
Poison(Move, own, BattleScreen, CInt(fSub))
|
||||
Poison(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "toxic", "badpoison"
|
||||
BadPoison(Move, own, BattleScreen, CInt(fSub))
|
||||
BadPoison(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "burn"
|
||||
Burn(Move, own, BattleScreen, CInt(fSub))
|
||||
Burn(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "freeze"
|
||||
Freeze(Move, own, BattleScreen, CInt(fSub))
|
||||
Freeze(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "sleep"
|
||||
Sleep(Move, own, BattleScreen, CInt(fSub))
|
||||
Sleep(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
Case "confuse"
|
||||
Confuse(Move, own, BattleScreen, CInt(fSub))
|
||||
Confuse(Move, own, EffectTarget, BattleScreen, CInt(fSub))
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
@ -457,12 +534,12 @@
|
||||
End Function
|
||||
Private Shared Sub LowerStat(ByVal Move As Attack, own As Boolean, Stat As String, Target As Boolean, Message As String, LowerAmount As Integer, Chance As Integer, FailMessage As String, ByVal BattleScreen As BattleScreen)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.LowerStat(Target, own, BattleScreen, Stat, LowerAmount, Message, "move:" & Move.Name, True) = False Then
|
||||
If BattleScreen.Battle.LowerStat(Not Target, own, BattleScreen, Stat, LowerAmount, Message, "move:" & Move.Name.ToLower, True) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then
|
||||
If FailMessage = "" Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(FailMessage.Replace("<movename>", Move.Name)))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(FailMessage.Replace("[MOVENAME]", Move.Name)))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@ -470,74 +547,74 @@
|
||||
End Sub
|
||||
Private Shared Sub RaiseStat(ByVal Move As Attack, own As Boolean, Stat As String, Target As Boolean, Message As String, RaiseAmount As Integer, Chance As Integer, FailMessage As String, ByVal BattleScreen As BattleScreen)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.RaiseStat(Target, own, BattleScreen, Stat, RaiseAmount, Message, "move:" & Move.Name, True) = False Then
|
||||
If BattleScreen.Battle.RaiseStat(Not Target, own, BattleScreen, Stat, RaiseAmount, Message, "move:" & Move.Name.ToLower, True) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then
|
||||
If FailMessage = "" Then
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
Else
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(FailMessage.Replace("<movename>", Move.Name)))
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(FailMessage.Replace("[MOVENAME]", Move.Name)))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Flinch(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Flinch(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
BattleScreen.Battle.InflictFlinch(Not own, own, BattleScreen, "", "move:" & Move.Name.ToLower())
|
||||
BattleScreen.Battle.InflictFlinch(Not Target, own, BattleScreen, "", "move:" & Move.Name.ToLower())
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Paralyze(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Paralyze(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictParalysis(Not own, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictParalysis(Not Target, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Shared Sub Confuse(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Confuse(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictConfusion(Not own, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictConfusion(Not Target, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Burn(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Burn(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictBurn(Not Target, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Sleep(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Sleep(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictSleep(Not own, own, BattleScreen, -1, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictSleep(Not Target, own, BattleScreen, -1, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Freeze(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Freeze(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictFreeze(Not own, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictFreeze(Not Target, own, BattleScreen, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub Poison(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub Poison(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictPoison(Not Target, own, BattleScreen, False, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Shared Sub BadPoison(ByVal Move As Attack, ByVal own As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
Private Shared Sub BadPoison(ByVal Move As Attack, ByVal own As Boolean, Target As Boolean, ByVal BattleScreen As BattleScreen, Chance As Integer)
|
||||
If GetEffectChanceResult(Move, Chance) = True Then
|
||||
If BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, True, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If BattleScreen.Battle.InflictPoison(Not Target, own, BattleScreen, True, "", "move:" & Move.Name.ToLower()) = False Then
|
||||
If Move.Category = Attack.Categories.Status Then BattleScreen.BattleQuery.Add(New TextQueryObject(Move.Name & " failed!"))
|
||||
End If
|
||||
End If
|
||||
|
Loading…
x
Reference in New Issue
Block a user