VentureEffect: support "Dungeon" + check for Enterable boolean

This commit is contained in:
Northmoc
2022-05-25 21:59:26 -04:00
parent 8608a0e438
commit e3dba72bf2

View File

@@ -42,12 +42,18 @@ public class VentureEffect extends SpellAbilityEffect {
} }
} }
// Create a new dungeon card chosen by player in command zone. Card dungeon = null;
List<PaperCard> dungeonCards = StaticData.instance().getVariantCards().getAllCards( if (sa.hasParam("Dungeon")) {
Predicates.compose(CardRulesPredicates.Presets.IS_DUNGEON, PaperCard.FN_GET_RULES)); dungeon = Card.fromPaperCard(StaticData.instance().getVariantCards().getUniqueByName(
sa.getParam("Dungeon")), player);
String message = Localizer.getInstance().getMessage("lblChooseDungeon"); } else {
Card dungeon = player.getController().chooseDungeon(player, dungeonCards, message); // Create a new dungeon card chosen by player in command zone.
List<PaperCard> 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.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
game.getAction().moveTo(ZoneType.Command, dungeon, sa, moveParams); game.getAction().moveTo(ZoneType.Command, dungeon, sa, moveParams);