diff --git a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Roar.vb b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Roar.vb index c79a18160..7a36ac491 100644 --- a/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Roar.vb +++ b/2.5DHero/2.5DHero/Pokemon/Attacks/Normal/Roar.vb @@ -35,7 +35,7 @@ Me.DisabledWhileGravity = False Me.UseEffectiveness = False - Me.ImmunityAffected = True + Me.ImmunityAffected = False Me.HasSecondaryEffect = False Me.RemovesFrozen = False @@ -46,7 +46,7 @@ Me.IsProtectMove = False Me.IsSoundMove = False - Me.IsAffectedBySubstitute = True + Me.IsAffectedBySubstitute = False Me.IsOneHitKOMove = False Me.IsWonderGuardAffected = False Me.UseAccEvasion = False @@ -72,13 +72,21 @@ 'trainer battle If own = True Then If BattleScreen.Trainer.CountUseablePokemon > 1 Then - BattleScreen.Battle.SwitchOutOpp(BattleScreen, -1, "") + Dim i As Integer = Core.Random.Next(0, BattleScreen.Trainer.Pokemons.count) + While BattleScreen.Trainer.Pokemons(i).Status = Pokemon.StatusProblems.Fainted OrElse BattleScreen.OppPokemonIndex = i OrElse BattleScreen.Trainer.Pokemons(i).HP <= 0 + i = Core.Random.Next(0, BattleScreen.Trainer.Pokemons.count) + End While + BattleScreen.Battle.SwitchOutOpp(BattleScreen, i, "") Else BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) End If Else If Core.Player.CountFightablePokemon > 1 Then - BattleScreen.Battle.SwitchOutOwn(BattleScreen, -1, -1) + Dim i As Integer = Core.Random.Next(0, Core.Player.Pokemons.Count) + While Core.Player.Pokemons(i).Status = Pokemon.StatusProblems.Fainted OrElse BattleScreen.OwnPokemonIndex = i OrElse Core.Player.Pokemons(i).HP <= 0 + i = Core.Random.Next(0, Core.Player.Pokemons.Count) + End While + BattleScreen.Battle.SwitchOutOwn(BattleScreen, i, -1) Else BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) End If @@ -103,4 +111,4 @@ End Class -End Namespace \ No newline at end of file +End Namespace