diff --git a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java index 80d138a4300..cf686cf6579 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/NewTournamentDialog.java @@ -45,7 +45,7 @@ import mage.Constants.MultiplayerAttackOption; import mage.Constants.RangeOfInfluence; import mage.cards.ExpansionSet; import mage.client.MageFrame; -import mage.client.remote.Session; +import mage.remote.Session; import mage.client.table.TournamentPlayerPanel; import mage.game.draft.DraftOptions; import mage.game.draft.DraftOptions.TimingOption; @@ -299,7 +299,7 @@ public class NewTournamentDialog extends MageDialog { if (tOptions.getLimitedOptions() == null) tOptions.setLimitedOptions(new LimitedOptions()); for (JComboBox pack: packs) { - tOptions.getLimitedOptions().getSets().add((ExpansionSet) pack.getSelectedItem()); + tOptions.getLimitedOptions().getSetCodes().add(((ExpansionSet) pack.getSelectedItem()).getCode()); } } tOptions.getMatchOptions().setDeckType("Limited"); diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java index 4421c6f2968..b9910e06c2f 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentFactory.java @@ -36,6 +36,7 @@ import java.util.Map; import mage.game.tournament.Tournament; import mage.game.tournament.TournamentOptions; import mage.game.tournament.TournamentType; +import mage.sets.Sets; import mage.view.TournamentTypeView; import org.apache.log4j.Logger; @@ -64,6 +65,9 @@ public class TournamentFactory { try { con = tournaments.get(tournamentType).getConstructor(new Class[]{TournamentOptions.class}); tournament = con.newInstance(new Object[] {options}); + for (String setCode: options.getLimitedOptions().getSetCodes()) { + tournament.getSets().add(Sets.findSet(setCode)); + } } catch (Exception ex) { logger.fatal("TournamentFactory error ", ex); return null; diff --git a/Mage/src/mage/game/draft/DraftImpl.java b/Mage/src/mage/game/draft/DraftImpl.java index a1804fddb67..c945f9b2419 100644 --- a/Mage/src/mage/game/draft/DraftImpl.java +++ b/Mage/src/mage/game/draft/DraftImpl.java @@ -55,6 +55,7 @@ public abstract class DraftImpl> implements Draft { protected Map players = new HashMap(); protected PlayerList table = new PlayerList(); protected List sets; + protected List setCodes; protected int boosterNum = 0; protected int cardNum = 0; protected TimingOption timing; @@ -65,7 +66,7 @@ public abstract class DraftImpl> implements Draft { public DraftImpl(DraftOptions options) { id = UUID.randomUUID(); - this.sets = options.getSets(); + this.setCodes = options.getSetCodes(); this.timing = options.getTiming(); } diff --git a/Mage/src/mage/game/tournament/LimitedOptions.java b/Mage/src/mage/game/tournament/LimitedOptions.java index 07cca76151a..88f12f4a14b 100644 --- a/Mage/src/mage/game/tournament/LimitedOptions.java +++ b/Mage/src/mage/game/tournament/LimitedOptions.java @@ -31,7 +31,6 @@ package mage.game.tournament; import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import mage.cards.ExpansionSet; /** * @@ -39,9 +38,9 @@ import mage.cards.ExpansionSet; */ public class LimitedOptions implements Serializable { - protected List sets = new ArrayList(); + protected List sets = new ArrayList(); - public List getSets() { + public List getSetCodes() { return sets; } diff --git a/Mage/src/mage/game/tournament/Tournament.java b/Mage/src/mage/game/tournament/Tournament.java index 583301e3f74..2f16ef6cfaf 100644 --- a/Mage/src/mage/game/tournament/Tournament.java +++ b/Mage/src/mage/game/tournament/Tournament.java @@ -29,7 +29,9 @@ package mage.game.tournament; import java.util.Collection; +import java.util.List; import java.util.UUID; +import mage.cards.ExpansionSet; import mage.cards.decks.Deck; import mage.game.events.Listener; import mage.game.events.PlayerQueryEvent; @@ -47,6 +49,7 @@ public interface Tournament { public TournamentPlayer getPlayer(UUID playerId); public Collection getPlayers(); public Collection getRounds(); + public List getSets(); public void submitDeck(UUID playerId, Deck deck); public void autoSubmit(UUID playerId, Deck deck); public boolean allJoined(); diff --git a/Mage/src/mage/game/tournament/TournamentImpl.java b/Mage/src/mage/game/tournament/TournamentImpl.java index fd2c418b398..fdf750c6072 100644 --- a/Mage/src/mage/game/tournament/TournamentImpl.java +++ b/Mage/src/mage/game/tournament/TournamentImpl.java @@ -61,6 +61,7 @@ public abstract class TournamentImpl implements Tournament { protected static Random rnd = new Random(); protected String matchName; protected TournamentOptions options; + protected List sets = new ArrayList(); protected TableEventSource tableEventSource = new TableEventSource(); protected PlayerQueryEventSource playerQueryEventSource = new PlayerQueryEventSource(); @@ -103,6 +104,11 @@ public abstract class TournamentImpl implements Tournament { return rounds; } + @Override + public List getSets() { + return sets; + } + @Override public void leave(UUID playerId) { //TODO: implement this @@ -249,7 +255,7 @@ public abstract class TournamentImpl implements Tournament { protected void openBoosters() { for (TournamentPlayer player: this.players.values()) { player.setDeck(new Deck()); - for (ExpansionSet set: options.limitedOptions.getSets()) { + for (ExpansionSet set: sets) { List booster = set.createBooster(); for (Card card: booster) { player.getDeck().getSideboard().add(card); diff --git a/Mage/src/mage/target/targetpointer/TargetPointer.java b/Mage/src/mage/target/targetpointer/TargetPointer.java index 8d92ee41dec..caf9ce7b9fd 100644 --- a/Mage/src/mage/target/targetpointer/TargetPointer.java +++ b/Mage/src/mage/target/targetpointer/TargetPointer.java @@ -1,11 +1,12 @@ package mage.target.targetpointer; +import java.io.Serializable; import mage.abilities.Ability; import java.util.List; import java.util.UUID; -public interface TargetPointer { +public interface TargetPointer extends Serializable { List getTargets(Ability source); UUID getFirst(Ability source); TargetPointer copy();