From de1c726b3c91bc2e368cd7be38de1bc20a467702 Mon Sep 17 00:00:00 2001 From: Sol Date: Fri, 19 Dec 2014 03:53:30 +0000 Subject: [PATCH] - Added Power Play (via manual editing of draft deck) --- .gitattributes | 1 + .../src/main/java/forge/game/GameAction.java | 14 ++++++++++++++ forge-gui/CHANGES.txt | 1 + forge-gui/res/cardsfolder/p/power_play.txt | 5 +++++ 4 files changed, 21 insertions(+) create mode 100644 forge-gui/res/cardsfolder/p/power_play.txt diff --git a/.gitattributes b/.gitattributes index 3132fda2c24..dd6a0e1d060 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10526,6 +10526,7 @@ forge-gui/res/cardsfolder/p/power_artifact.txt svneol=native#text/plain forge-gui/res/cardsfolder/p/power_conduit.txt -text forge-gui/res/cardsfolder/p/power_matrix.txt svneol=native#text/plain forge-gui/res/cardsfolder/p/power_of_fire.txt svneol=native#text/plain +forge-gui/res/cardsfolder/p/power_play.txt -text forge-gui/res/cardsfolder/p/power_sink.txt svneol=native#text/plain forge-gui/res/cardsfolder/p/power_surge.txt svneol=native#text/plain forge-gui/res/cardsfolder/p/power_taint.txt -text diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 83008be4281..353ceaf76bf 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1395,6 +1395,20 @@ public class GameAction { } } + // Power Play - Each player with a Power Play in the CommandZone becomes the Starting Player + CardCollectionView commandCards = game.getCardsIn(ZoneType.Command); + if (commandCards.size() > 0) { + CardCollection powerPlays = CardLists.getValidCards(commandCards, "Card.namedPower Play", game.getPlayers().getFirst(), commandCards.getFirst()); + Set powerPlayers = new HashSet<>(); + for (Card c : powerPlays) { + powerPlayers.add(c.getOwner()); + } + + ArrayList players = Lists.newArrayList(powerPlayers); + Collections.shuffle(players); + return players.get(0); + } + boolean isFirstGame = lastGameOutcome == null; if (isFirstGame) { game.fireEvent(new GameEventFlipCoin()); // Play the Flip Coin sound diff --git a/forge-gui/CHANGES.txt b/forge-gui/CHANGES.txt index 5c2a3bb6e25..b0fed0cbbb3 100644 --- a/forge-gui/CHANGES.txt +++ b/forge-gui/CHANGES.txt @@ -23,6 +23,7 @@ Fatespinner Incite Rebellion Infernal Offering Loreseeker's Stone +Power Play Shared Fate Smoke Teller Spy Network diff --git a/forge-gui/res/cardsfolder/p/power_play.txt b/forge-gui/res/cardsfolder/p/power_play.txt new file mode 100644 index 00000000000..faeeffb63f1 --- /dev/null +++ b/forge-gui/res/cardsfolder/p/power_play.txt @@ -0,0 +1,5 @@ +Name:Power Play +ManaCost:no cost +Types:Conspiracy +Text:You are the starting player. If multiple players would be the starting player, one of those players is chosen at random. +Oracle:(Start the game with this conspiracy face up in the command zone.)\nYou are the starting player. If multiple players would be the starting player, one of those players is chosen at random.