- Fixed keyword "CARDNAME untaps during each other player's untap step." for correct application in multiplayer.

This commit is contained in:
moomarc
2012-12-26 11:47:16 +00:00
parent 6f6d56524e
commit 9185110edb
2 changed files with 11 additions and 8 deletions

View File

@@ -4,7 +4,7 @@ Types:Enchantment
Text:no text 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. 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. 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:X:Count$Valid Card.Self+counters_GE4_QUEST
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/quest_for_renewal.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/quest_for_renewal.jpg

View File

@@ -26,6 +26,7 @@ import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.CardPredicates.Presets; import forge.CardPredicates.Presets;
import forge.CardPredicates;
import forge.CounterType; import forge.CounterType;
import forge.GameActionUtil; import forge.GameActionUtil;
import forge.GameEntity; import forge.GameEntity;
@@ -184,14 +185,16 @@ public class Untap extends Phase {
} }
} }
// opponent untapping during your untap phase // other players untapping during your untap phase
final List<Card> opp = new ArrayList<Card>(player.getOpponent().getCardsIn(ZoneType.Battlefield)); final List<Card> cardsWithKW = CardLists.getKeyword(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield),
for (final Card oppCard : opp) { "CARDNAME untaps during each other player's untap step.");
if (oppCard.hasKeyword("CARDNAME untaps during each other player's untap step.")) { final List<Player> otherPlayers = player.getOpponents();
oppCard.untap(); otherPlayers.addAll(player.getAllies());
// end opponent untapping during your untap phase 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 (Untap.canOnlyUntapOneLand()) {
if (player.isComputer()) { if (player.isComputer()) {