diff --git a/P3D/Battle/BattleSystemV2/BattleMenu.vb b/P3D/Battle/BattleSystemV2/BattleMenu.vb index 007f4e93c..6fd5a7a87 100644 --- a/P3D/Battle/BattleSystemV2/BattleMenu.vb +++ b/P3D/Battle/BattleSystemV2/BattleMenu.vb @@ -817,10 +817,32 @@ Battle.Won = True Battle.Fled = True Else - BattleScreen.BattleQuery.Clear() - BattleScreen.BattleQuery.Add(BattleScreen.FocusBattle()) - BattleScreen.BattleQuery.Insert(0, New ToggleMenuQueryObject(True)) - BattleScreen.Battle.InitializeRound(BattleScreen, New Battle.RoundConst With {.StepType = Battle.RoundConst.StepTypes.Text, .Argument = "Failed to run away."}) + Dim Trapped As Boolean = False + Dim p As Pokemon = BattleScreen.OwnPokemon + Dim op As Pokemon = BattleScreen.OppPokemon + + If op.Ability.Name.ToLower() = "shadow tag" And p.Ability.Name.ToLower() <> "shadow tag" And op.HP > 0 Then + Trapped = True + End If + + If op.Ability.Name.ToLower() = "arena trap" And op.HP > 0 And BattleScreen.FieldEffects.IsGrounded(True, BattleScreen) = True Then + Trapped = True + End If + + 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 + Trapped = True + End If + End If + + If Trapped = True Then + Screen.TextBox.Show(Localization.GetString("battle_cannot_run_ability", "Failed to run away because of~") & op.Ability.Name & ".", {}, True, False) + Else + BattleScreen.BattleQuery.Clear() + BattleScreen.BattleQuery.Add(BattleScreen.FocusBattle()) + BattleScreen.BattleQuery.Insert(0, New ToggleMenuQueryObject(True)) + BattleScreen.Battle.InitializeRound(BattleScreen, New Battle.RoundConst With {.StepType = Battle.RoundConst.StepTypes.Text, .Argument = Localization.GetString("battle_cannot_run", "Failed to run away.")}) + End If End If End Sub diff --git a/P3D/Content/Localization/Tokens_de.dat b/P3D/Content/Localization/Tokens_de.dat index 7c77cdceb..80876568a 100644 --- a/P3D/Content/Localization/Tokens_de.dat +++ b/P3D/Content/Localization/Tokens_de.dat @@ -476,6 +476,8 @@ battle_switch_already_in_battle,is already~in battle! battle_switch_fainted,is fainted! battle_switch_egg,Cannot switch in~the egg! battle_cannot_switch,Cannot switch out. +battle_cannot_run,Failed to run away. +battle_cannot_run_ability,Failed to run away because of~ --- Badges: badge_Boulder,Fels diff --git a/P3D/Content/Localization/Tokens_en.dat b/P3D/Content/Localization/Tokens_en.dat index 87e9276f0..b11188bb1 100644 --- a/P3D/Content/Localization/Tokens_en.dat +++ b/P3D/Content/Localization/Tokens_en.dat @@ -497,6 +497,8 @@ battle_switch_already_in_battle,is already~in battle! battle_switch_fainted,is fainted! battle_switch_egg,Cannot switch in~the egg! battle_cannot_switch,Cannot switch out. +battle_cannot_run,Failed to run away. +battle_cannot_run_ability,Failed to run away because of~ --- Badges: badge_1,Boulder diff --git a/P3D/Content/Localization/Tokens_fr.dat b/P3D/Content/Localization/Tokens_fr.dat index 2b9245c9d..5d1fd2015 100644 --- a/P3D/Content/Localization/Tokens_fr.dat +++ b/P3D/Content/Localization/Tokens_fr.dat @@ -227,8 +227,8 @@ option_screen_game_difficulty_description,Définit le niveau de difficulté. option_screen_game_difficulty_easy,Facile option_screen_game_difficulty_hard,Difficile option_screen_game_difficulty_superhard,Extreme -option_screen_game_interfacescale,Interface Scale -option_screen_game_interfacescale_automatic,Automatic +option_screen_game_interfacescale,Taille de l'interface +option_screen_game_interfacescale_automatic,Automatique option_screen_game_viewbobbing,View Bobbing option_screen_game_viewbobbing_description,Active ou désactive le tremblement de la caméra. @@ -497,6 +497,8 @@ battle_switch_already_in_battle,est déjà en combat! battle_switch_fainted,est KO! battle_switch_egg,Impossible d'envoyer l'œuf ! battle_cannot_switch,Impossible de changer. +battle_cannot_run,Failed to run away. +battle_cannot_run_ability,Failed to run away because of~ --- Badges: badge_1,Roche diff --git a/P3D/Content/Localization/Tokens_nl.dat b/P3D/Content/Localization/Tokens_nl.dat index 3f885d6c1..31987a2a6 100644 --- a/P3D/Content/Localization/Tokens_nl.dat +++ b/P3D/Content/Localization/Tokens_nl.dat @@ -496,6 +496,8 @@ battle_switch_already_in_battle,is al~aan het vechten! battle_switch_fainted,is uitgeschakeld! battle_switch_egg,Kan geen ei inzetten! battle_cannot_switch,Kan niet wisselen. +battle_cannot_run,Kon niet wegrennen. +battle_cannot_run_ability,Kon niet wegrennen vanwege~ --- Badges: badge_Boulder,Rots diff --git a/P3D/Content/Localization/Tokens_ptbr.dat b/P3D/Content/Localization/Tokens_ptbr.dat index 5de60a3c0..3084395a6 100644 --- a/P3D/Content/Localization/Tokens_ptbr.dat +++ b/P3D/Content/Localization/Tokens_ptbr.dat @@ -498,6 +498,8 @@ battle_switch_already_in_battle,ja está~em batalha! battle_switch_fainted,Desmaiou! battle_switch_egg,Não pode trocar~por Ovo! battle_cannot_switch,Não da pra trocar. +battle_cannot_run,Failed to run away. +battle_cannot_run_ability,Failed to run away because of~ --- Badges: badge_1,Boulder