diff --git a/forge-game/src/main/java/forge/game/ability/effects/VentureEffect.java b/forge-game/src/main/java/forge/game/ability/effects/VentureEffect.java index 01009a820de..dece7177118 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/VentureEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/VentureEffect.java @@ -42,12 +42,18 @@ public class VentureEffect extends SpellAbilityEffect { } } - // Create a new dungeon card chosen by player in command zone. - List dungeonCards = StaticData.instance().getVariantCards().getAllCards( - Predicates.compose(CardRulesPredicates.Presets.IS_DUNGEON, PaperCard.FN_GET_RULES)); - - String message = Localizer.getInstance().getMessage("lblChooseDungeon"); - Card dungeon = player.getController().chooseDungeon(player, dungeonCards, message); + Card dungeon = null; + if (sa.hasParam("Dungeon")) { + dungeon = Card.fromPaperCard(StaticData.instance().getVariantCards().getUniqueByName( + sa.getParam("Dungeon")), player); + } else { + // Create a new dungeon card chosen by player in command zone. + List dungeonCards = StaticData.instance().getVariantCards().getAllCards( + Predicates.compose(CardRulesPredicates.Presets.IS_DUNGEON, PaperCard.FN_GET_RULES)); + dungeonCards.removeIf(c -> !c.getRules().isEnterableDungeon()); + String message = Localizer.getInstance().getMessage("lblChooseDungeon"); + dungeon = player.getController().chooseDungeon(player, dungeonCards, message); + } game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); game.getAction().moveTo(ZoneType.Command, dungeon, sa, moveParams);