From 6cac3199de8aaf0577fa91e2c8c9bc87428c5032 Mon Sep 17 00:00:00 2001 From: swordshine Date: Sun, 27 Jul 2014 11:56:42 +0000 Subject: [PATCH] - Commander 2014: Added Teferi, Temporal Archmage --- forge-core/src/main/java/forge/deck/DeckFormat.java | 5 ++--- .../forge/game/spellability/SpellAbilityRestriction.java | 5 ++++- .../screens/deckeditor/controllers/CEditorCommander.java | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index dc7d2db230a..550594ca34f 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -131,9 +131,8 @@ public enum DeckFormat { if (null == cmd || cmd.isEmpty()) { return "is missing a commander"; } - if (!cmd.get(0).getRules().getType().isLegendary() - || !cmd.get(0).getRules().getType().isCreature()) { - // TODO: Teferi, Temporal Archmage + if (!cmd.get(0).getRules().getOracleText().contains("can be your commander") + && (!cmd.get(0).getRules().getType().isLegendary() || !cmd.get(0).getRules().getType().isCreature())) { return "has a commander that is not a legendary creature"; } diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index cb4c251323f..90a2304268f 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -147,7 +147,6 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { if (params.containsKey("Planeswalker")) { this.setPlaneswalker(true); - this.setSorcerySpeed(true); } if (params.containsKey("IsPresent")) { @@ -373,6 +372,10 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { } if (this.isPwAbility()) { + if (!c.hasKeyword("CARDNAME's loyalty abilities can be activated at instant speed.") + && !activator.canCastSorcery()) { + return false; + } final int limits = c.getKeywordAmount("May activate CARDNAME's loyalty abilities once"); int numActivates = 0; for (final SpellAbility pwAbs : c.getAllSpellAbilities()) { diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java index 8379a30a490..6c222ac3101 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/CEditorCommander.java @@ -71,6 +71,7 @@ public final class CEditorCommander extends ACEditorBase { allSections.add(DeckSection.Commander); commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(Predicates.compose(Predicates.and(CardRulesPredicates.Presets.IS_CREATURE, CardRulesPredicates.Presets.IS_LEGENDARY), PaperCard.FN_GET_RULES)),PaperCard.class); + commanderPool.add(FModel.getMagicDb().getCommonCards().getCard("Teferi, Temporal Archmage")); normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class); CardManager catalogManager = new CardManager(true);