Fixed substitute interaction with status infliction and stat changes

This commit is contained in:
CaptainSegis 2016-11-23 10:44:58 -05:00
parent 9d84c01461
commit 029e7608eb
1 changed files with 43 additions and 7 deletions

View File

@ -2266,7 +2266,7 @@
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 Then
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute took the burn."))
Return False
@ -2362,7 +2362,7 @@
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 Then
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute took the freeze effect."))
Return False
@ -2474,7 +2474,7 @@
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 Then
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute took the paralysis."))
Return False
@ -2577,7 +2577,7 @@
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 Then
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute took the sleep effect."))
Return False
@ -2699,7 +2699,7 @@
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 Then
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute took the poison."))
Return False
@ -2806,8 +2806,15 @@
End If
Dim confusionTurns As Integer = Core.Random.Next(1, 5)
If p.Ability.Name.ToLower() = "own tempo" And BattleScreen.FieldEffects.CanUseAbility(own, BattleScreen) = True Then
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute prevented the confusion."))
Return False
ElseIf p.Ability.Name.ToLower() = "own tempo" And BattleScreen.FieldEffects.CanUseAbility(own, BattleScreen) = True Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("Own Tempo prevented the confusion."))
Return False
@ -2886,6 +2893,16 @@
End If
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute prevented the stat change."))
Return False
End If
If p.Ability.Name.ToLower() = "contrary" And BattleScreen.FieldEffects.CanUseAbility(own, BattleScreen) = True Then
If cause <> "contrary" Then
Return LowerStat(own, own, BattleScreen, Stat, val, message & vbNewLine & "Contrary reverted the stat change!", "contrary")
@ -3093,6 +3110,16 @@
End If
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute prevented the stat change."))
Return False
End If
If p.Ability.Name.ToLower() = "contrary" And BattleScreen.FieldEffects.CanUseAbility(own, BattleScreen) = True Then
If cause <> "contrary" Then
Return RaiseStat(own, own, BattleScreen, Stat, val, message & vbNewLine & "Contrary reverted the stat change!", "contrary")
@ -3349,6 +3376,15 @@
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("Oblivious prevented the infatuation."))
Return False
End If
Dim substitute As Integer = BattleScreen.FieldEffects.OwnSubstitute
If own = False Then
substitute = BattleScreen.FieldEffects.OppSubstitute
End If
If substitute > 0 And op.Ability.Name.ToLower() <> "infiltrator" And from <> own Then
Me.ChangeCameraAngel(1, own, BattleScreen)
BattleScreen.BattleQuery.Add(New TextQueryObject("The substitute prevented the infatuation."))
Return False
Else
Me.ChangeCameraAngel(1, own, BattleScreen)
Select Case message