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