mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
PlayerStartConditions renamed to RegisteredPlayer, lobbyPlayer added as a field
MatchState now starts with list of RegisteredPlayers, not a list of tuples
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -14225,7 +14225,7 @@ src/main/java/forge/game/GameType.java -text
|
|||||||
src/main/java/forge/game/GlobalRuleChange.java -text
|
src/main/java/forge/game/GlobalRuleChange.java -text
|
||||||
src/main/java/forge/game/MatchState.java -text
|
src/main/java/forge/game/MatchState.java -text
|
||||||
src/main/java/forge/game/PlanarDice.java -text
|
src/main/java/forge/game/PlanarDice.java -text
|
||||||
src/main/java/forge/game/PlayerStartConditions.java -text
|
src/main/java/forge/game/RegisteredPlayer.java -text
|
||||||
src/main/java/forge/game/ai/AiAttackController.java svneol=native#text/plain
|
src/main/java/forge/game/ai/AiAttackController.java svneol=native#text/plain
|
||||||
src/main/java/forge/game/ai/AiController.java svneol=native#text/plain
|
src/main/java/forge/game/ai/AiController.java svneol=native#text/plain
|
||||||
src/main/java/forge/game/ai/AiProfileUtil.java -text
|
src/main/java/forge/game/ai/AiProfileUtil.java -text
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import forge.deck.CardPool;
|
|||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckSection;
|
import forge.deck.DeckSection;
|
||||||
import forge.game.phase.PhaseHandler;
|
import forge.game.phase.PhaseHandler;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerType;
|
import forge.game.player.PlayerType;
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
@@ -68,7 +67,7 @@ public class GameNew {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initVariantsZones(final Player player, final PlayerStartConditions psc) {
|
private static void initVariantsZones(final Player player, final RegisteredPlayer psc) {
|
||||||
PlayerZone com = player.getZone(ZoneType.Command);
|
PlayerZone com = player.getZone(ZoneType.Command);
|
||||||
|
|
||||||
// Mainly for avatar, but might find something else here
|
// Mainly for avatar, but might find something else here
|
||||||
@@ -240,10 +239,10 @@ public class GameNew {
|
|||||||
boolean isFirstGame = game.getMatch().getPlayedGames().isEmpty();
|
boolean isFirstGame = game.getMatch().getPlayedGames().isEmpty();
|
||||||
boolean canSideBoard = !isFirstGame && gameType.isSideboardingAllowed();
|
boolean canSideBoard = !isFirstGame && gameType.isSideboardingAllowed();
|
||||||
|
|
||||||
final List<Pair<LobbyPlayer, PlayerStartConditions>> playersConditions = game.getMatch().getPlayers();
|
final List<RegisteredPlayer> playersConditions = game.getMatch().getPlayers();
|
||||||
for (int i = 0; i < playersConditions.size(); i++) {
|
for (int i = 0; i < playersConditions.size(); i++) {
|
||||||
Player player = game.getPlayers().get(i);
|
Player player = game.getPlayers().get(i);
|
||||||
final PlayerStartConditions psc = playersConditions.get(i).getRight();
|
final RegisteredPlayer psc = playersConditions.get(i);
|
||||||
|
|
||||||
putCardsOnBattlefield(player, psc.getCardsOnBattlefield(player));
|
putCardsOnBattlefield(player, psc.getCardsOnBattlefield(player));
|
||||||
initVariantsZones(player, psc);
|
initVariantsZones(player, psc);
|
||||||
@@ -355,7 +354,7 @@ public class GameNew {
|
|||||||
final Player player = gamePlayers.get(i);
|
final Player player = gamePlayers.get(i);
|
||||||
if( player.hasLost()) continue;
|
if( player.hasLost()) continue;
|
||||||
|
|
||||||
PlayerStartConditions psc = game.getMatch().getPlayers().get(i).getValue();
|
RegisteredPlayer psc = game.getMatch().getPlayers().get(i);
|
||||||
|
|
||||||
player.setStartingLife(psc.getStartingLife());
|
player.setStartingLife(psc.getStartingLife());
|
||||||
player.setNumLandsPlayed(0);
|
player.setNumLandsPlayed(0);
|
||||||
|
|||||||
@@ -22,11 +22,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import com.google.common.eventbus.EventBus;
|
import com.google.common.eventbus.EventBus;
|
||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
@@ -48,7 +45,6 @@ import forge.game.phase.EndOfTurn;
|
|||||||
import forge.game.phase.PhaseHandler;
|
import forge.game.phase.PhaseHandler;
|
||||||
import forge.game.phase.Untap;
|
import forge.game.phase.Untap;
|
||||||
import forge.game.phase.Upkeep;
|
import forge.game.phase.Upkeep;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.MagicStack;
|
import forge.game.zone.MagicStack;
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
@@ -94,19 +90,18 @@ public class GameState {
|
|||||||
* @param match0
|
* @param match0
|
||||||
* @param input
|
* @param input
|
||||||
*/
|
*/
|
||||||
public GameState(List<Pair<LobbyPlayer, PlayerStartConditions>> players0, GameType t, MatchState match0) { /* no more zones to map here */
|
public GameState(List<RegisteredPlayer> players0, GameType t, MatchState match0) { /* no more zones to map here */
|
||||||
type = t;
|
type = t;
|
||||||
match = match0;
|
match = match0;
|
||||||
List<Player> players = new ArrayList<Player>();
|
List<Player> players = new ArrayList<Player>();
|
||||||
allPlayers = Collections.unmodifiableList(players);
|
allPlayers = Collections.unmodifiableList(players);
|
||||||
roIngamePlayers = Collections.unmodifiableList(ingamePlayers);
|
roIngamePlayers = Collections.unmodifiableList(ingamePlayers);
|
||||||
|
|
||||||
for (Entry<LobbyPlayer, PlayerStartConditions> kv : players0) {
|
for (RegisteredPlayer psc : players0) {
|
||||||
Player pl = kv.getKey().getPlayer(this);
|
Player pl = psc.getPlayer().getPlayer(this);
|
||||||
players.add(pl);
|
players.add(pl);
|
||||||
ingamePlayers.add(pl);
|
ingamePlayers.add(pl);
|
||||||
|
|
||||||
PlayerStartConditions psc = kv.getValue();
|
|
||||||
pl.setStartingLife(psc.getStartingLife());
|
pl.setStartingLife(psc.getStartingLife());
|
||||||
pl.setMaxHandSize(psc.getStartingHand());
|
pl.setMaxHandSize(psc.getStartingHand());
|
||||||
pl.setStartingHandSize(psc.getStartingHand());
|
pl.setStartingHandSize(psc.getStartingHand());
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import forge.util.Aggregates;
|
|||||||
|
|
||||||
public class MatchState {
|
public class MatchState {
|
||||||
|
|
||||||
private final List<Pair<LobbyPlayer, PlayerStartConditions>> players;
|
private final List<RegisteredPlayer> players;
|
||||||
private final GameType gameType;
|
private final GameType gameType;
|
||||||
|
|
||||||
private int gamesPerMatch = 3;
|
private int gamesPerMatch = 3;
|
||||||
@@ -41,13 +41,13 @@ public class MatchState {
|
|||||||
/**
|
/**
|
||||||
* This should become constructor once.
|
* This should become constructor once.
|
||||||
*/
|
*/
|
||||||
public MatchState(GameType type, List<Pair<LobbyPlayer, PlayerStartConditions>> players0) {
|
public MatchState(GameType type, List<RegisteredPlayer> players0) {
|
||||||
gamesPlayedRo = Collections.unmodifiableList(gamesPlayed);
|
gamesPlayedRo = Collections.unmodifiableList(gamesPlayed);
|
||||||
players = Collections.unmodifiableList(Lists.newArrayList(players0));
|
players = Collections.unmodifiableList(Lists.newArrayList(players0));
|
||||||
gameType = type;
|
gameType = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MatchState(GameType type, List<Pair<LobbyPlayer, PlayerStartConditions>> players0, Boolean overrideAnte) {
|
public MatchState(GameType type, List<RegisteredPlayer> players0, Boolean overrideAnte) {
|
||||||
this(type, players0);
|
this(type, players0);
|
||||||
if( overrideAnte != null )
|
if( overrideAnte != null )
|
||||||
this.useAnte = overrideAnte.booleanValue();
|
this.useAnte = overrideAnte.booleanValue();
|
||||||
@@ -174,8 +174,8 @@ public class MatchState {
|
|||||||
for (GameOutcome go : gamesPlayed) {
|
for (GameOutcome go : gamesPlayed) {
|
||||||
LobbyPlayer winner = go.getWinner();
|
LobbyPlayer winner = go.getWinner();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (Pair<LobbyPlayer, PlayerStartConditions> p : players) {
|
for (RegisteredPlayer p : players) {
|
||||||
if (p.getLeft().equals(winner)) {
|
if (p.getPlayer().equals(winner)) {
|
||||||
victories[i]++;
|
victories[i]++;
|
||||||
break; // can't have 2 winners per game
|
break; // can't have 2 winners per game
|
||||||
}
|
}
|
||||||
@@ -217,7 +217,7 @@ public class MatchState {
|
|||||||
return getGamesWonBy(questPlayer) >= gamesToWinMatch;
|
return getGamesWonBy(questPlayer) >= gamesToWinMatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Pair<LobbyPlayer, PlayerStartConditions>> getPlayers() {
|
public List<RegisteredPlayer> getPlayers() {
|
||||||
return players;
|
return players;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,16 +6,20 @@ import java.util.List;
|
|||||||
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckSection;
|
import forge.deck.DeckSection;
|
||||||
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
import forge.item.IPaperCard;
|
import forge.item.IPaperCard;
|
||||||
|
|
||||||
|
|
||||||
public class PlayerStartConditions {
|
public class RegisteredPlayer {
|
||||||
private final Deck originalDeck;
|
private final Deck originalDeck;
|
||||||
private Deck currentDeck;
|
private Deck currentDeck;
|
||||||
|
|
||||||
private static final Iterable<CardPrinted> EmptyList = Collections.unmodifiableList(new ArrayList<CardPrinted>());
|
private static final Iterable<CardPrinted> EmptyList = Collections.unmodifiableList(new ArrayList<CardPrinted>());
|
||||||
|
|
||||||
|
private LobbyPlayer player = null;
|
||||||
|
|
||||||
private int startingLife = 20;
|
private int startingLife = 20;
|
||||||
private int startingHand = 7;
|
private int startingHand = 7;
|
||||||
private Iterable<IPaperCard> cardsOnBattlefield = null;
|
private Iterable<IPaperCard> cardsOnBattlefield = null;
|
||||||
@@ -24,7 +28,7 @@ public class PlayerStartConditions {
|
|||||||
private Iterable<CardPrinted> planes = null;
|
private Iterable<CardPrinted> planes = null;
|
||||||
private int teamNumber = -1; // members of teams with negative id will play FFA.
|
private int teamNumber = -1; // members of teams with negative id will play FFA.
|
||||||
|
|
||||||
public PlayerStartConditions(Deck deck0) {
|
public RegisteredPlayer(Deck deck0) {
|
||||||
originalDeck = deck0;
|
originalDeck = deck0;
|
||||||
currentDeck = originalDeck;
|
currentDeck = originalDeck;
|
||||||
}
|
}
|
||||||
@@ -133,17 +137,17 @@ public class PlayerStartConditions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static PlayerStartConditions fromDeck(final Deck deck) {
|
public static RegisteredPlayer fromDeck(final Deck deck) {
|
||||||
PlayerStartConditions start = new PlayerStartConditions(deck);
|
RegisteredPlayer start = new RegisteredPlayer(deck);
|
||||||
if( deck != null && deck.has(DeckSection.Commander)) {
|
if( deck != null && deck.has(DeckSection.Commander)) {
|
||||||
start.setStartingLife(40);
|
start.setStartingLife(40);
|
||||||
start.addCardsInCommand(deck.get(DeckSection.Commander).toFlatList());
|
start.addCardsInCommand(deck.get(DeckSection.Commander).toFlatList());
|
||||||
}
|
}
|
||||||
return new PlayerStartConditions(deck);
|
return new RegisteredPlayer(deck);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PlayerStartConditions forVanguard(final Deck deck, final CardPrinted avatar) {
|
public static RegisteredPlayer forVanguard(final Deck deck, final CardPrinted avatar) {
|
||||||
PlayerStartConditions start = fromDeck(deck);
|
RegisteredPlayer start = fromDeck(deck);
|
||||||
start.setStartingLife(start.getStartingLife() + avatar.getRules().getLife());
|
start.setStartingLife(start.getStartingLife() + avatar.getRules().getLife());
|
||||||
start.setStartingHand(start.getStartingHand() + avatar.getRules().getHand());
|
start.setStartingHand(start.getStartingHand() + avatar.getRules().getHand());
|
||||||
start.addCardsInCommand(avatar);
|
start.addCardsInCommand(avatar);
|
||||||
@@ -151,17 +155,26 @@ public class PlayerStartConditions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static PlayerStartConditions forArchenemy(final Deck deck, final Iterable<CardPrinted> schemes) {
|
public static RegisteredPlayer forArchenemy(final Deck deck, final Iterable<CardPrinted> schemes) {
|
||||||
PlayerStartConditions start = fromDeck(deck);
|
RegisteredPlayer start = fromDeck(deck);
|
||||||
start.setSchemes(schemes);
|
start.setSchemes(schemes);
|
||||||
return start;
|
return start;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PlayerStartConditions forPlanechase(final Deck deck, final Iterable<CardPrinted> planes) {
|
public static RegisteredPlayer forPlanechase(final Deck deck, final Iterable<CardPrinted> planes) {
|
||||||
PlayerStartConditions start = fromDeck(deck);
|
RegisteredPlayer start = fromDeck(deck);
|
||||||
start.setPlanes(planes);
|
start.setPlanes(planes);
|
||||||
return start;
|
return start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LobbyPlayer getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RegisteredPlayer setPlayer(LobbyPlayer player0) {
|
||||||
|
this.player = player0;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -22,16 +22,13 @@ import java.util.List;
|
|||||||
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.Lobby;
|
import forge.control.Lobby;
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,7 +49,7 @@ public class GauntletMini {
|
|||||||
private int losses;
|
private int losses;
|
||||||
private boolean gauntletDraft; // Means: Draft game is in Gauntlet-mode, not a single match
|
private boolean gauntletDraft; // Means: Draft game is in Gauntlet-mode, not a single match
|
||||||
private GameType gauntletType;
|
private GameType gauntletType;
|
||||||
private List<PlayerStartConditions> aiOpponents = new ArrayList<PlayerStartConditions>();
|
private List<RegisteredPlayer> aiOpponents = new ArrayList<RegisteredPlayer>();
|
||||||
|
|
||||||
// private final String humanName;
|
// private final String humanName;
|
||||||
/**
|
/**
|
||||||
@@ -145,7 +142,7 @@ public class GauntletMini {
|
|||||||
aiOpponents.clear();
|
aiOpponents.clear();
|
||||||
for (int i = 0; i < Math.min(gameRounds, aiDecks.size()); i++) {
|
for (int i = 0; i < Math.min(gameRounds, aiDecks.size()); i++) {
|
||||||
|
|
||||||
aiOpponents.add(new PlayerStartConditions(aiDecks.get(i)));
|
aiOpponents.add(new RegisteredPlayer(aiDecks.get(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
resetCurrentRound();
|
resetCurrentRound();
|
||||||
@@ -164,11 +161,10 @@ public class GauntletMini {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.add(Pair.of(lobby.getGuiPlayer(), PlayerStartConditions.fromDeck(humanDeck)));
|
starter.add(RegisteredPlayer.fromDeck(humanDeck).setPlayer(lobby.getGuiPlayer()));
|
||||||
starter.add(Pair.of(lobby.getAiPlayer(), aiOpponents.get(currentRound - 1)));
|
starter.add(aiOpponents.get(currentRound - 1).setPlayer(lobby.getAiPlayer()));
|
||||||
final MatchState mc = new MatchState(gauntletType, starter);
|
final MatchState mc = new MatchState(gauntletType, starter);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,9 +11,6 @@ import java.util.List;
|
|||||||
import javax.swing.JList;
|
import javax.swing.JList;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -22,8 +19,7 @@ import forge.deck.Deck;
|
|||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gauntlet.GauntletData;
|
import forge.gauntlet.GauntletData;
|
||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -121,11 +117,11 @@ public enum CSubmenuGauntletContests implements ICDoc {
|
|||||||
|
|
||||||
Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
|
|
||||||
starter.add(ImmutablePair.of(lobby.getGuiPlayer(), PlayerStartConditions.fromDeck(gd.getUserDeck())));
|
starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer()));
|
||||||
starter.add(ImmutablePair.of(lobby.getAiPlayer(), PlayerStartConditions.fromDeck(aiDeck)));
|
starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer()));
|
||||||
|
|
||||||
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import java.util.List;
|
|||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -18,8 +16,7 @@ import forge.control.Lobby;
|
|||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gauntlet.GauntletData;
|
import forge.gauntlet.GauntletData;
|
||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -113,10 +110,10 @@ public enum CSubmenuGauntletLoad implements ICDoc {
|
|||||||
final GauntletData gd = FModel.SINGLETON_INSTANCE.getGauntletData();
|
final GauntletData gd = FModel.SINGLETON_INSTANCE.getGauntletData();
|
||||||
final Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
final Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.add(Pair.of(lobby.getGuiPlayer(), PlayerStartConditions.fromDeck(gd.getUserDeck())));
|
starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer()));
|
||||||
starter.add(Pair.of(lobby.getAiPlayer(), PlayerStartConditions.fromDeck(aiDeck)));
|
starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer()));
|
||||||
|
|
||||||
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ import java.util.Set;
|
|||||||
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -21,8 +19,7 @@ import forge.deck.DeckgenUtil;
|
|||||||
import forge.deck.DeckgenUtil.DeckTypes;
|
import forge.deck.DeckgenUtil.DeckTypes;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gauntlet.GauntletData;
|
import forge.gauntlet.GauntletData;
|
||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -147,10 +144,10 @@ public enum CSubmenuGauntletQuick implements ICDoc {
|
|||||||
|
|
||||||
final Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
final Deck aiDeck = gd.getDecks().get(gd.getCompleted());
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.add(Pair.of(lobby.getGuiPlayer(), PlayerStartConditions.fromDeck(gd.getUserDeck())));
|
starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer()));
|
||||||
starter.add(Pair.of(lobby.getAiPlayer(), PlayerStartConditions.fromDeck(aiDeck)));
|
starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer()));
|
||||||
|
|
||||||
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
final MatchState mc = new MatchState(GameType.Gauntlet, starter);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -10,8 +10,6 @@ import javax.swing.SwingUtilities;
|
|||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.CardEdition;
|
import forge.card.CardEdition;
|
||||||
@@ -20,7 +18,7 @@ import forge.control.Lobby;
|
|||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -419,8 +417,8 @@ public class SSubmenuQuestUtil {
|
|||||||
forceAnte = qc.isForceAnte();
|
forceAnte = qc.isForceAnte();
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerStartConditions humanStart = new PlayerStartConditions(deck);
|
RegisteredPlayer humanStart = new RegisteredPlayer(deck);
|
||||||
PlayerStartConditions aiStart = new PlayerStartConditions(event.getEventDeck());
|
RegisteredPlayer aiStart = new RegisteredPlayer(event.getEventDeck());
|
||||||
|
|
||||||
if (lifeHuman != null) {
|
if (lifeHuman != null) {
|
||||||
humanStart.setStartingLife(lifeHuman);
|
humanStart.setStartingLife(lifeHuman);
|
||||||
@@ -434,13 +432,13 @@ public class SSubmenuQuestUtil {
|
|||||||
aiStart.setCardsOnBattlefield(QuestUtil.getComputerStartingCards(event));
|
aiStart.setCardsOnBattlefield(QuestUtil.getComputerStartingCards(event));
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.add(Pair.of(lobby.getQuestPlayer(), humanStart));
|
starter.add(humanStart.setPlayer(lobby.getQuestPlayer()));
|
||||||
|
|
||||||
LobbyPlayer aiPlayer = Singletons.getControl().getLobby().getAiPlayer(event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
LobbyPlayer aiPlayer = Singletons.getControl().getLobby().getAiPlayer(event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
||||||
aiPlayer.setIconImageKey(event.getIconImageKey());
|
aiPlayer.setIconImageKey(event.getIconImageKey());
|
||||||
starter.add(Pair.of(aiPlayer, aiStart));
|
starter.add(aiStart.setPlayer(aiPlayer));
|
||||||
|
|
||||||
final MatchState mc = new MatchState(GameType.Quest, starter, forceAnte);
|
final MatchState mc = new MatchState(GameType.Quest, starter, forceAnte);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -7,16 +7,13 @@ import java.util.List;
|
|||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.control.Lobby;
|
import forge.control.Lobby;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
@@ -100,8 +97,8 @@ public enum CSubmenuConstructed implements ICDoc {
|
|||||||
* @param gameType
|
* @param gameType
|
||||||
*/
|
*/
|
||||||
private void startGame(final GameType gameType) {
|
private void startGame(final GameType gameType) {
|
||||||
PlayerStartConditions pscLeft = view.getDcLeft().getDeck();
|
RegisteredPlayer pscLeft = view.getDcLeft().getDeck();
|
||||||
PlayerStartConditions pscRight = view.getDcRight().getDeck();
|
RegisteredPlayer pscRight = view.getDcRight().getDeck();
|
||||||
|
|
||||||
String humanDeckErrorMessage = gameType.getDecksFormat().getDeckConformanceProblem(pscRight.getOriginalDeck());
|
String humanDeckErrorMessage = gameType.getDecksFormat().getDeckConformanceProblem(pscRight.getOriginalDeck());
|
||||||
if (null != humanDeckErrorMessage) {
|
if (null != humanDeckErrorMessage) {
|
||||||
@@ -119,15 +116,14 @@ public enum CSubmenuConstructed implements ICDoc {
|
|||||||
LobbyPlayer rightPlayer = view.isRightPlayerAi() ? lobby.getAiPlayer() : lobby.getGuiPlayer();
|
LobbyPlayer rightPlayer = view.isRightPlayerAi() ? lobby.getAiPlayer() : lobby.getGuiPlayer();
|
||||||
LobbyPlayer leftPlayer = view.isLeftPlayerAi() ? lobby.getAiPlayer() : lobby.getGuiPlayer();
|
LobbyPlayer leftPlayer = view.isLeftPlayerAi() ? lobby.getAiPlayer() : lobby.getGuiPlayer();
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> players = new ArrayList<Pair<LobbyPlayer, PlayerStartConditions>>();
|
List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
||||||
players.add(ImmutablePair.of(rightPlayer, pscRight));
|
players.add(pscRight.setPlayer(rightPlayer));
|
||||||
players.add(ImmutablePair.of(leftPlayer, pscLeft));
|
players.add(pscLeft.setPlayer(leftPlayer));
|
||||||
final MatchState mc = new MatchState(gameType, players);
|
final MatchState mc = new MatchState(gameType, players);
|
||||||
|
|
||||||
SOverlayUtils.startGameOverlay();
|
SOverlayUtils.startGameOverlay();
|
||||||
SOverlayUtils.showOverlay();
|
SOverlayUtils.showOverlay();
|
||||||
|
|
||||||
|
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import javax.swing.JButton;
|
|||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
import forge.FThreads;
|
import forge.FThreads;
|
||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
@@ -20,10 +18,9 @@ import forge.deck.Deck;
|
|||||||
import forge.deck.DeckGroup;
|
import forge.deck.DeckGroup;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.limited.BoosterDraft;
|
import forge.game.limited.BoosterDraft;
|
||||||
import forge.game.limited.LimitedPoolType;
|
import forge.game.limited.LimitedPoolType;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -134,10 +131,10 @@ public enum CSubmenuDraft implements ICDoc {
|
|||||||
throw new IllegalStateException("Draft: Computer deck is null!");
|
throw new IllegalStateException("Draft: Computer deck is null!");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> starter = new ArrayList<Pair<LobbyPlayer, PlayerStartConditions>>();
|
List<RegisteredPlayer> starter = new ArrayList<RegisteredPlayer>();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.add(Pair.of(lobby.getGuiPlayer(), PlayerStartConditions.fromDeck(humanDeck)));
|
starter.add(RegisteredPlayer.fromDeck(humanDeck).setPlayer(lobby.getGuiPlayer()));
|
||||||
starter.add(Pair.of(lobby.getAiPlayer(), PlayerStartConditions.fromDeck(aiDeck)));
|
starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer()));
|
||||||
|
|
||||||
final MatchState mc = new MatchState(GameType.Draft, starter);
|
final MatchState mc = new MatchState(GameType.Draft, starter);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ import java.util.Vector;
|
|||||||
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
@@ -23,8 +20,7 @@ import forge.deck.DeckSection;
|
|||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -166,7 +162,7 @@ public enum CSubmenuArchenemy implements ICDoc {
|
|||||||
|
|
||||||
List<Deck> playerDecks = new ArrayList<Deck>();
|
List<Deck> playerDecks = new ArrayList<Deck>();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
PlayerStartConditions d = view.getDeckChoosers().get(i).getDeck();
|
RegisteredPlayer d = view.getDeckChoosers().get(i).getDeck();
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
//ERROR!
|
//ERROR!
|
||||||
@@ -224,17 +220,17 @@ public enum CSubmenuArchenemy implements ICDoc {
|
|||||||
|
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
|
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> players = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> players = new ArrayList<RegisteredPlayer>();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
|
|
||||||
PlayerStartConditions psc = PlayerStartConditions.forArchenemy(playerDecks.get(i), schemes);
|
RegisteredPlayer psc = RegisteredPlayer.forArchenemy(playerDecks.get(i), schemes);
|
||||||
psc.setStartingLife(10 + (10 * (view.getNumPlayers() - 1)));
|
psc.setStartingLife(10 + (10 * (view.getNumPlayers() - 1)));
|
||||||
players.add(ImmutablePair.of(lobby.getGuiPlayer(), psc));
|
players.add(psc.setPlayer(lobby.getGuiPlayer()));
|
||||||
} else {
|
} else {
|
||||||
PlayerStartConditions psc = PlayerStartConditions.fromDeck(playerDecks.get(i));
|
RegisteredPlayer psc = RegisteredPlayer.fromDeck(playerDecks.get(i));
|
||||||
psc.setTeamNumber(0);
|
psc.setTeamNumber(0);
|
||||||
players.add(ImmutablePair.of(lobby.getAiPlayer(), psc));
|
players.add(psc.setPlayer(lobby.getAiPlayer()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import java.util.Vector;
|
|||||||
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
@@ -22,7 +20,7 @@ import forge.deck.DeckSection;
|
|||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -152,10 +150,10 @@ public enum CSubmenuPlanechase implements ICDoc {
|
|||||||
/** @param lists0   {@link java.util.List}<{@link javax.swing.JList}> */
|
/** @param lists0   {@link java.util.List}<{@link javax.swing.JList}> */
|
||||||
private void startGame() {
|
private void startGame() {
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> helper = new ArrayList<Pair<LobbyPlayer,PlayerStartConditions>>();
|
List<RegisteredPlayer> helper = new ArrayList<RegisteredPlayer>();
|
||||||
List<Deck> playerDecks = new ArrayList<Deck>();
|
List<Deck> playerDecks = new ArrayList<Deck>();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
PlayerStartConditions d = view.getDeckChoosers().get(i).getDeck();
|
RegisteredPlayer d = view.getDeckChoosers().get(i).getDeck();
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
//ERROR!
|
//ERROR!
|
||||||
@@ -211,7 +209,7 @@ public enum CSubmenuPlanechase implements ICDoc {
|
|||||||
GuiDialog.message("Player " + (i+1) + " will use a default planar deck.");
|
GuiDialog.message("Player " + (i+1) + " will use a default planar deck.");
|
||||||
}
|
}
|
||||||
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
||||||
helper.add(Pair.of(player, PlayerStartConditions.forPlanechase(playerDecks.get(i), planes)));
|
helper.add(RegisteredPlayer.forPlanechase(playerDecks.get(i), planes).setPlayer(player));
|
||||||
}
|
}
|
||||||
|
|
||||||
SOverlayUtils.startGameOverlay();
|
SOverlayUtils.startGameOverlay();
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import java.util.Random;
|
|||||||
|
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
import forge.Command;
|
import forge.Command;
|
||||||
@@ -20,7 +18,7 @@ import forge.deck.Deck;
|
|||||||
import forge.deck.DeckSection;
|
import forge.deck.DeckSection;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -123,7 +121,7 @@ public enum CSubmenuVanguard implements ICDoc {
|
|||||||
|
|
||||||
List<Deck> playerDecks = new ArrayList<Deck>();
|
List<Deck> playerDecks = new ArrayList<Deck>();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
PlayerStartConditions d = view.getDeckChoosers().get(i).getDeck();
|
RegisteredPlayer d = view.getDeckChoosers().get(i).getDeck();
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
//ERROR!
|
//ERROR!
|
||||||
@@ -174,10 +172,10 @@ public enum CSubmenuVanguard implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
List<Pair<LobbyPlayer, PlayerStartConditions>> helper = new ArrayList<Pair<LobbyPlayer, PlayerStartConditions>>();
|
List<RegisteredPlayer> helper = new ArrayList<RegisteredPlayer>();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
||||||
helper.add(Pair.of(player, PlayerStartConditions.forVanguard(playerDecks.get(i), playerAvatars.get(i))));
|
helper.add(RegisteredPlayer.forVanguard(playerDecks.get(i), playerAvatars.get(i)).setPlayer(player));
|
||||||
}
|
}
|
||||||
final MatchState mc = new MatchState(GameType.Vanguard, helper);
|
final MatchState mc = new MatchState(GameType.Vanguard, helper);
|
||||||
FThreads.invokeInEdtLater(new Runnable(){
|
FThreads.invokeInEdtLater(new Runnable(){
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import forge.deck.Deck;
|
|||||||
import forge.game.GameOutcome;
|
import forge.game.GameOutcome;
|
||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchState;
|
import forge.game.MatchState;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
@@ -127,7 +127,7 @@ public class ControlWinLose {
|
|||||||
|
|
||||||
|
|
||||||
List<Card> compAntes = new ArrayList<Card>(fromGame.getCardsIn(ZoneType.Ante));
|
List<Card> compAntes = new ArrayList<Card>(fromGame.getCardsIn(ZoneType.Ante));
|
||||||
PlayerStartConditions psc = match.getPlayers().get(i).getValue();
|
RegisteredPlayer psc = match.getPlayers().get(i);
|
||||||
Deck cDeck = psc.getCurrentDeck();
|
Deck cDeck = psc.getCurrentDeck();
|
||||||
Deck oDeck = psc.getOriginalDeck();
|
Deck oDeck = psc.getOriginalDeck();
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ public class ControlWinLose {
|
|||||||
if (fromGame.isHuman()) {
|
if (fromGame.isHuman()) {
|
||||||
List<CardPrinted> chosen = GuiChoose.noneOrMany("Select cards to add to your deck", losses);
|
List<CardPrinted> chosen = GuiChoose.noneOrMany("Select cards to add to your deck", losses);
|
||||||
if (null != chosen) {
|
if (null != chosen) {
|
||||||
PlayerStartConditions psc = match.getPlayers().get(i).getValue();
|
RegisteredPlayer psc = match.getPlayers().get(i);
|
||||||
Deck cDeck = psc.getCurrentDeck();
|
Deck cDeck = psc.getCurrentDeck();
|
||||||
//Deck oDeck = psc.getOriginalDeck();
|
//Deck oDeck = psc.getOriginalDeck();
|
||||||
for (CardPrinted c : chosen) {
|
for (CardPrinted c : chosen) {
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ public enum CDock implements ICDoc {
|
|||||||
*/
|
*/
|
||||||
private void viewDeckList() {
|
private void viewDeckList() {
|
||||||
|
|
||||||
showDeck(game.getMatch().getPlayers().get(0).getValue().getCurrentDeck());
|
showDeck(game.getMatch().getPlayers().get(0).getCurrentDeck());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import forge.Singletons;
|
|||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckgenUtil;
|
import forge.deck.DeckgenUtil;
|
||||||
import forge.deck.generate.GenerateThemeDeck;
|
import forge.deck.generate.GenerateThemeDeck;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.RegisteredPlayer;
|
||||||
import forge.quest.QuestController;
|
import forge.quest.QuestController;
|
||||||
import forge.quest.QuestEvent;
|
import forge.quest.QuestEvent;
|
||||||
import forge.quest.QuestEventChallenge;
|
import forge.quest.QuestEventChallenge;
|
||||||
@@ -232,7 +232,7 @@ public class FDeckChooser extends JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Generates deck from current list selection(s). */
|
/** Generates deck from current list selection(s). */
|
||||||
public PlayerStartConditions getDeck() {
|
public RegisteredPlayer getDeck() {
|
||||||
|
|
||||||
|
|
||||||
JList lst0 = getLstDecks();
|
JList lst0 = getLstDecks();
|
||||||
@@ -243,7 +243,7 @@ public class FDeckChooser extends JPanel {
|
|||||||
// Special branch for quest events
|
// Special branch for quest events
|
||||||
if (lst0.getName().equals(DeckgenUtil.DeckTypes.QUESTEVENTS.toString())) {
|
if (lst0.getName().equals(DeckgenUtil.DeckTypes.QUESTEVENTS.toString())) {
|
||||||
QuestEvent event = DeckgenUtil.getQuestEvent(selection[0]);
|
QuestEvent event = DeckgenUtil.getQuestEvent(selection[0]);
|
||||||
PlayerStartConditions result = new PlayerStartConditions(event.getEventDeck());
|
RegisteredPlayer result = new RegisteredPlayer(event.getEventDeck());
|
||||||
if( event instanceof QuestEventChallenge ) {
|
if( event instanceof QuestEventChallenge ) {
|
||||||
result.setStartingLife(((QuestEventChallenge) event).getAiLife());
|
result.setStartingLife(((QuestEventChallenge) event).getAiLife());
|
||||||
}
|
}
|
||||||
@@ -260,7 +260,7 @@ public class FDeckChooser extends JPanel {
|
|||||||
deck = DeckgenUtil.getConstructedDeck(selection);
|
deck = DeckgenUtil.getConstructedDeck(selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
return PlayerStartConditions.fromDeck(deck);
|
return RegisteredPlayer.fromDeck(deck);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user