From af3ceb33480bb6915f12d36c934ea64dcc6f4872 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 8 Oct 2024 16:25:52 +0800 Subject: [PATCH] fix crash when card defined is missing or invalid these card should be replaced or create a custom card for adventure mode Power Struggle, Necropolis of Azar --- .../src/forge/adventure/data/EffectData.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/data/EffectData.java b/forge-gui-mobile/src/forge/adventure/data/EffectData.java index 07c028a1e58..aec2071586a 100644 --- a/forge-gui-mobile/src/forge/adventure/data/EffectData.java +++ b/forge-gui-mobile/src/forge/adventure/data/EffectData.java @@ -48,9 +48,14 @@ public class EffectData implements Serializable { if(C != null) startCards.add(C); else { - PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); - if (T != null) startCards.add(T); - else System.err.print("Can not find card \"" + name + "\"\n"); + try { + PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); + if (T != null) startCards.add(T); + else System.err.print("Can not find card/token \"" + name + "\"\n"); + } catch (Exception e) { + //if it's not found probably the item is using funny cards and the users setting disabled non legal cards + System.err.print("Can not find card/token \"" + name + "\"\n"); + } } } } @@ -65,9 +70,14 @@ public class EffectData implements Serializable { if(C != null) startCardsInCommandZone.add(C); else { - PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); - if (T != null) startCardsInCommandZone.add(T); - else System.err.print("Can not find card \"" + name + "\"\n"); + try { + PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); + if (T != null) startCardsInCommandZone.add(T); + else System.err.print("Can not find card/token \"" + name + "\"\n"); + } catch (Exception e) { + //if it's not found probably the item is using funny cards and the users setting disabled non legal cards + System.err.print("Can not find card/token \"" + name + "\"\n"); + } } } }