diff --git a/res/cardsfolder/q/quest_for_renewal.txt b/res/cardsfolder/q/quest_for_renewal.txt index ff81af21353..d4e2c02d585 100644 --- a/res/cardsfolder/q/quest_for_renewal.txt +++ b/res/cardsfolder/q/quest_for_renewal.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ CARDNAME untaps during each other player's untap step. | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ As long as there are four or more quest counters on CARDNAME, untap all creatures you control during each other player's untap step. T:Mode$ Taps | ValidCard$ Creature.YouCtrl | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control becomes tapped, you may put a quest counter on CARDNAME. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 SVar:X:Count$Valid Card.Self+counters_GE4_QUEST SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/quest_for_renewal.jpg diff --git a/src/main/java/forge/game/phase/Untap.java b/src/main/java/forge/game/phase/Untap.java index 7a0bde5e9dd..246ee3c4432 100644 --- a/src/main/java/forge/game/phase/Untap.java +++ b/src/main/java/forge/game/phase/Untap.java @@ -26,6 +26,7 @@ import forge.Card; import forge.CardLists; import forge.CardPredicates.Presets; +import forge.CardPredicates; import forge.CounterType; import forge.GameActionUtil; import forge.GameEntity; @@ -184,14 +185,16 @@ public class Untap extends Phase { } } - // opponent untapping during your untap phase - final List opp = new ArrayList(player.getOpponent().getCardsIn(ZoneType.Battlefield)); - for (final Card oppCard : opp) { - if (oppCard.hasKeyword("CARDNAME untaps during each other player's untap step.")) { - oppCard.untap(); - // end opponent untapping during your untap phase - } + // other players untapping during your untap phase + final List cardsWithKW = CardLists.getKeyword(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield), + "CARDNAME untaps during each other player's untap step."); + final List otherPlayers = player.getOpponents(); + otherPlayers.addAll(player.getAllies()); + CardLists.filter(cardsWithKW, CardPredicates.hasListController(otherPlayers)); + for (final Card cardWithKW : cardsWithKW) { + cardWithKW.untap(); } + // end other players untapping during your untap phase if (Untap.canOnlyUntapOneLand()) { if (player.isComputer()) {