After Faint Switching, revision 3: Fixed major bug related to multi turn action
This commit is contained in:
parent
b1589a31bc
commit
b59d4c7f6c
|
@ -5,6 +5,8 @@
|
||||||
Public Shared Won As Boolean = False
|
Public Shared Won As Boolean = False
|
||||||
Public Shared Fled As Boolean = False
|
Public Shared Fled As Boolean = False
|
||||||
|
|
||||||
|
|
||||||
|
Public IsAfterFaint As Boolean = False
|
||||||
#Region "StartRound"
|
#Region "StartRound"
|
||||||
|
|
||||||
Public Structure RoundConst
|
Public Structure RoundConst
|
||||||
|
@ -197,6 +199,9 @@
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub StartRound(ByVal BattleScreen As BattleScreen)
|
Public Sub StartRound(ByVal BattleScreen As BattleScreen)
|
||||||
|
If BattleScreen.OwnFaint OrElse BattleScreen.OppFaint Then
|
||||||
|
IsAfterFaint = True
|
||||||
|
End If
|
||||||
BattleScreen.BattleMenu.MenuState = BattleMenu.MenuStates.Main
|
BattleScreen.BattleMenu.MenuState = BattleMenu.MenuStates.Main
|
||||||
SelectedMoveOwn = True
|
SelectedMoveOwn = True
|
||||||
SelectedMoveOpp = True
|
SelectedMoveOpp = True
|
||||||
|
@ -234,7 +239,7 @@
|
||||||
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Text, .Argument = "You have sent your next Pokemon!"}
|
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Text, .Argument = "You have sent your next Pokemon!"}
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not BattleScreen.IsAfterFaint Then
|
If Not IsAfterFaint Then
|
||||||
If BattleScreen.FieldEffects.OppRecharge > 0 Then
|
If BattleScreen.FieldEffects.OppRecharge > 0 Then
|
||||||
SelectedMoveOpp = False
|
SelectedMoveOpp = False
|
||||||
BattleScreen.FieldEffects.OppRecharge -= 1
|
BattleScreen.FieldEffects.OppRecharge -= 1
|
||||||
|
@ -466,9 +471,6 @@
|
||||||
If BattleHasEnded(BattleScreen) Then
|
If BattleHasEnded(BattleScreen) Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
If BattleScreen.OwnFaint OrElse BattleScreen.OppFaint Then
|
|
||||||
BattleScreen.IsAfterFaint = True
|
|
||||||
End If
|
|
||||||
Dim OppStep = GetOppStep(BattleScreen, OwnStep)
|
Dim OppStep = GetOppStep(BattleScreen, OwnStep)
|
||||||
Me.OwnStep = OwnStep
|
Me.OwnStep = OwnStep
|
||||||
Me.OppStep = OppStep
|
Me.OppStep = OppStep
|
||||||
|
@ -4063,7 +4065,7 @@
|
||||||
EndRoundOpp(BattleScreen)
|
EndRoundOpp(BattleScreen)
|
||||||
EndRoundOwn(BattleScreen)
|
EndRoundOwn(BattleScreen)
|
||||||
End If
|
End If
|
||||||
If BattleScreen.IsAfterFaint = False Then
|
If IsAfterFaint = False Then
|
||||||
.FieldEffects.Rounds += 1
|
.FieldEffects.Rounds += 1
|
||||||
If .FieldEffects.WeatherRounds > 0 Then
|
If .FieldEffects.WeatherRounds > 0 Then
|
||||||
.FieldEffects.WeatherRounds -= 1
|
.FieldEffects.WeatherRounds -= 1
|
||||||
|
@ -4154,7 +4156,7 @@
|
||||||
.FieldEffects.OppProtectMovesCount = 0
|
.FieldEffects.OppProtectMovesCount = 0
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
BattleScreen.IsAfterFaint = False
|
IsAfterFaint = False
|
||||||
If .OwnPokemon.Status = Pokemon.StatusProblems.Fainted Or .OwnPokemon.HP <= 0 Then
|
If .OwnPokemon.Status = Pokemon.StatusProblems.Fainted Or .OwnPokemon.HP <= 0 Then
|
||||||
.OwnPokemon.Status = Pokemon.StatusProblems.Fainted
|
.OwnPokemon.Status = Pokemon.StatusProblems.Fainted
|
||||||
BattleScreen.OwnFaint = True
|
BattleScreen.OwnFaint = True
|
||||||
|
@ -4306,7 +4308,7 @@
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
ChangeCameraAngel(0, True, BattleScreen)
|
ChangeCameraAngel(0, True, BattleScreen)
|
||||||
If BattleScreen.IsAfterFaint = True Then
|
If IsAfterFaint = True Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
With BattleScreen
|
With BattleScreen
|
||||||
|
@ -5033,7 +5035,7 @@
|
||||||
|
|
||||||
Private Sub EndRoundOpp(ByVal BattleScreen As BattleScreen)
|
Private Sub EndRoundOpp(ByVal BattleScreen As BattleScreen)
|
||||||
ChangeCameraAngel(0, True, BattleScreen)
|
ChangeCameraAngel(0, True, BattleScreen)
|
||||||
If BattleScreen.IsAfterFaint = True Then
|
If IsAfterFaint = True Then
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
With BattleScreen
|
With BattleScreen
|
||||||
|
@ -6312,7 +6314,7 @@
|
||||||
Public Sub EndBattle(ByVal reason As EndBattleReasons, ByVal BattleScreen As BattleScreen, ByVal AddPVP As Boolean)
|
Public Sub EndBattle(ByVal reason As EndBattleReasons, ByVal BattleScreen As BattleScreen, ByVal AddPVP As Boolean)
|
||||||
BattleSystem.BattleScreen.OwnFaint = False
|
BattleSystem.BattleScreen.OwnFaint = False
|
||||||
BattleSystem.BattleScreen.OppFaint = False
|
BattleSystem.BattleScreen.OppFaint = False
|
||||||
BattleSystem.BattleScreen.IsAfterFaint = False
|
IsAfterFaint = False
|
||||||
If AddPVP = True Then
|
If AddPVP = True Then
|
||||||
Select Case reason
|
Select Case reason
|
||||||
Case EndBattleReasons.WinTrainer 'Lost
|
Case EndBattleReasons.WinTrainer 'Lost
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
'Used for after fainting switching
|
'Used for after fainting switching
|
||||||
Public Shared OwnFaint As Boolean = False
|
Public Shared OwnFaint As Boolean = False
|
||||||
Public Shared OppFaint As Boolean = False
|
Public Shared OppFaint As Boolean = False
|
||||||
Public Shared IsAfterFaint As Boolean = False 'Is after faint switching round
|
|
||||||
|
|
||||||
|
|
||||||
'Used for lead picking in PvP Battles
|
'Used for lead picking in PvP Battles
|
||||||
|
@ -120,7 +120,7 @@
|
||||||
Me.IsTrainerBattle = False
|
Me.IsTrainerBattle = False
|
||||||
Me.MouseVisible = False
|
Me.MouseVisible = False
|
||||||
Me.PVPGameJoltID = ""
|
Me.PVPGameJoltID = ""
|
||||||
IsAfterFaint = False
|
|
||||||
OppFaint = False
|
OppFaint = False
|
||||||
OwnFaint = False
|
OwnFaint = False
|
||||||
End Sub
|
End Sub
|
||||||
|
@ -132,7 +132,7 @@
|
||||||
Me.IsTrainerBattle = True
|
Me.IsTrainerBattle = True
|
||||||
Me.MouseVisible = False
|
Me.MouseVisible = False
|
||||||
Me.PVPGameJoltID = ""
|
Me.PVPGameJoltID = ""
|
||||||
IsAfterFaint = False
|
|
||||||
OppFaint = False
|
OppFaint = False
|
||||||
OwnFaint = False
|
OwnFaint = False
|
||||||
End Sub
|
End Sub
|
||||||
|
@ -1468,7 +1468,7 @@ nextIndex:
|
||||||
|
|
||||||
Public Sub SendEndRoundData()
|
Public Sub SendEndRoundData()
|
||||||
Dim lockData As String = "{}"
|
Dim lockData As String = "{}"
|
||||||
Dim oppStep As Battle.RoundConst = Battle.GetOppStep(Me, Nothing)
|
Dim oppStep As Battle.RoundConst = Battle.GetOppStep(Me, Battle.OwnStep)
|
||||||
If Battle.SelectedMoveOpp = False Then
|
If Battle.SelectedMoveOpp = False Then
|
||||||
If oppStep.StepType = BattleSystem.Battle.RoundConst.StepTypes.Move Then
|
If oppStep.StepType = BattleSystem.Battle.RoundConst.StepTypes.Move Then
|
||||||
lockData = "{" & CType(oppStep.Argument, Attack).ID.ToString() & "}"
|
lockData = "{" & CType(oppStep.Argument, Attack).ID.ToString() & "}"
|
||||||
|
|
Loading…
Reference in New Issue