mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Added MoJhoSto variant
This commit is contained in:
@@ -42,6 +42,25 @@ public enum GameType {
|
|||||||
.getCard("Momir Vig, Simic Visionary Avatar"), 1);
|
.getCard("Momir Vig, Simic Visionary Avatar"), 1);
|
||||||
return deck;
|
return deck;
|
||||||
}
|
}
|
||||||
|
}),
|
||||||
|
MoJhoSto (DeckFormat.Constructed, false, false, false, "MoJhoSto", "Each player has a deck containing 60 basic lands and the Momir Vig, Jhoira of the Ghitu, and Stonehewer Giant avatars.", new Function<RegisteredPlayer, Deck>() {
|
||||||
|
@Override
|
||||||
|
public Deck apply(RegisteredPlayer player) {
|
||||||
|
Deck deck = new Deck();
|
||||||
|
CardPool mainDeck = deck.getMain();
|
||||||
|
mainDeck.add("Plains", 12);
|
||||||
|
mainDeck.add("Island", 12);
|
||||||
|
mainDeck.add("Swamp", 12);
|
||||||
|
mainDeck.add("Mountain", 12);
|
||||||
|
mainDeck.add("Forest", 12);
|
||||||
|
deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards()
|
||||||
|
.getCard("Momir Vig, Simic Visionary Avatar"), 1);
|
||||||
|
deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards()
|
||||||
|
.getCard("Jhoira of the Ghitu Avatar"), 1);
|
||||||
|
deck.getOrCreate(DeckSection.Avatar).add(StaticData.instance().getVariantCards()
|
||||||
|
.getCard("Stonehewer Giant Avatar"), 1);
|
||||||
|
return deck;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
private final DeckFormat deckFormat;
|
private final DeckFormat deckFormat;
|
||||||
|
|||||||
@@ -2591,8 +2591,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
PlayerZone com = getZone(ZoneType.Command);
|
PlayerZone com = getZone(ZoneType.Command);
|
||||||
|
|
||||||
// Vanguard
|
// Vanguard
|
||||||
if (registeredPlayer.getVanguardAvatar() != null) {
|
if (registeredPlayer.getVanguardAvatars() != null) {
|
||||||
com.add(Card.fromPaperCard(registeredPlayer.getVanguardAvatar(), this));
|
for(PaperCard avatar:registeredPlayer.getVanguardAvatars()) {
|
||||||
|
com.add(Card.fromPaperCard(avatar, this));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Schemes
|
// Schemes
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class RegisteredPlayer {
|
|||||||
private Iterable<PaperCard> planes = null;
|
private Iterable<PaperCard> planes = null;
|
||||||
private Iterable<PaperCard> conspiracies = null;
|
private Iterable<PaperCard> conspiracies = null;
|
||||||
private List<PaperCard> commanders = Lists.newArrayList();
|
private List<PaperCard> commanders = Lists.newArrayList();
|
||||||
private PaperCard vanguardAvatar = null;
|
private List<PaperCard> vanguardAvatars = null;
|
||||||
private PaperCard planeswalker = null;
|
private PaperCard planeswalker = 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.
|
||||||
private boolean randomFoil = false;
|
private boolean randomFoil = false;
|
||||||
@@ -104,7 +104,7 @@ public class RegisteredPlayer {
|
|||||||
public static RegisteredPlayer forVariants(final int playerCount,
|
public static RegisteredPlayer forVariants(final int playerCount,
|
||||||
final Set<GameType> appliedVariants, final Deck deck, //General vars
|
final Set<GameType> appliedVariants, final Deck deck, //General vars
|
||||||
final Iterable<PaperCard> schemes, final boolean playerIsArchenemy, //Archenemy specific vars
|
final Iterable<PaperCard> schemes, final boolean playerIsArchenemy, //Archenemy specific vars
|
||||||
final Iterable<PaperCard> planes, final PaperCard vanguardAvatar) { //Planechase and Vanguard
|
final Iterable<PaperCard> planes, final CardPool vanguardAvatar) { //Planechase and Vanguard
|
||||||
|
|
||||||
RegisteredPlayer start = new RegisteredPlayer(deck);
|
RegisteredPlayer start = new RegisteredPlayer(deck);
|
||||||
if (appliedVariants.contains(GameType.Archenemy) && playerIsArchenemy) {
|
if (appliedVariants.contains(GameType.Archenemy) && playerIsArchenemy) {
|
||||||
@@ -131,8 +131,9 @@ public class RegisteredPlayer {
|
|||||||
if (appliedVariants.contains(GameType.Planechase)) {
|
if (appliedVariants.contains(GameType.Planechase)) {
|
||||||
start.planes = planes;
|
start.planes = planes;
|
||||||
}
|
}
|
||||||
if (appliedVariants.contains(GameType.Vanguard) || appliedVariants.contains(GameType.MomirBasic)) {
|
if (appliedVariants.contains(GameType.Vanguard) || appliedVariants.contains(GameType.MomirBasic)
|
||||||
start.setVanguardAvatar(vanguardAvatar);
|
|| appliedVariants.contains(GameType.MoJhoSto)) {
|
||||||
|
start.setVanguardAvatars(vanguardAvatar.toFlatList());
|
||||||
}
|
}
|
||||||
return start;
|
return start;
|
||||||
}
|
}
|
||||||
@@ -153,19 +154,21 @@ public class RegisteredPlayer {
|
|||||||
commanders = currentDeck.getCommanders();
|
commanders = currentDeck.getCommanders();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PaperCard getVanguardAvatar() {
|
public List<PaperCard> getVanguardAvatars() {
|
||||||
return vanguardAvatar;
|
return vanguardAvatars;
|
||||||
}
|
}
|
||||||
public void assignVanguardAvatar() {
|
public void assignVanguardAvatar() {
|
||||||
CardPool section = currentDeck.get(DeckSection.Avatar);
|
CardPool section = currentDeck.get(DeckSection.Avatar);
|
||||||
setVanguardAvatar(section == null ? null : section.get(0));
|
setVanguardAvatars(section == null ? null : section.toFlatList());
|
||||||
}
|
}
|
||||||
private void setVanguardAvatar(PaperCard vanguardAvatar0) {
|
private void setVanguardAvatars(List<PaperCard> vanguardAvatars0) {
|
||||||
vanguardAvatar = vanguardAvatar0;
|
vanguardAvatars = vanguardAvatars0;
|
||||||
if (vanguardAvatar == null) { return; }
|
if (vanguardAvatars == null) { return; }
|
||||||
|
for(PaperCard avatar: vanguardAvatars){
|
||||||
|
setStartingLife(getStartingLife() + avatar.getRules().getLife());
|
||||||
|
setStartingHand(getStartingHand() + avatar.getRules().getHand());
|
||||||
|
}
|
||||||
|
|
||||||
setStartingLife(getStartingLife() + vanguardAvatar.getRules().getLife());
|
|
||||||
setStartingHand(getStartingHand() + vanguardAvatar.getRules().getHand());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public PaperCard getPlaneswalker() {
|
public PaperCard getPlaneswalker() {
|
||||||
|
|||||||
@@ -342,7 +342,8 @@ public class PlayerPanel extends FPanel {
|
|||||||
final boolean isArchenemyApplied = mayEdit && lobby.hasVariant(GameType.Archenemy);
|
final boolean isArchenemyApplied = mayEdit && lobby.hasVariant(GameType.Archenemy);
|
||||||
final boolean archenemyVisiblity = mayEdit && lobby.hasVariant(GameType.ArchenemyRumble) || (isArchenemyApplied && isArchenemy());
|
final boolean archenemyVisiblity = mayEdit && lobby.hasVariant(GameType.ArchenemyRumble) || (isArchenemyApplied && isArchenemy());
|
||||||
// Commander deck building replaces normal one, so hide it
|
// Commander deck building replaces normal one, so hide it
|
||||||
final boolean isDeckBuildingAllowed = mayEdit && !isCommanderApplied && !lobby.hasVariant(GameType.MomirBasic);
|
final boolean isDeckBuildingAllowed = mayEdit && !isCommanderApplied && !lobby.hasVariant(GameType.MomirBasic)
|
||||||
|
&& !lobby.hasVariant(GameType.MoJhoSto);
|
||||||
|
|
||||||
deckLabel.setVisible(isDeckBuildingAllowed);
|
deckLabel.setVisible(isDeckBuildingAllowed);
|
||||||
deckBtn.setVisible(isDeckBuildingAllowed);
|
deckBtn.setVisible(isDeckBuildingAllowed);
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ public class VLobby implements ILobbyView {
|
|||||||
private final FPanel variantsPanel = new FPanel(new MigLayout("insets 10, gapx 10"));
|
private final FPanel variantsPanel = new FPanel(new MigLayout("insets 10, gapx 10"));
|
||||||
private final VariantCheckBox vntVanguard = new VariantCheckBox(GameType.Vanguard);
|
private final VariantCheckBox vntVanguard = new VariantCheckBox(GameType.Vanguard);
|
||||||
private final VariantCheckBox vntMomirBasic = new VariantCheckBox(GameType.MomirBasic);
|
private final VariantCheckBox vntMomirBasic = new VariantCheckBox(GameType.MomirBasic);
|
||||||
|
private final VariantCheckBox vntMoJhoSto = new VariantCheckBox(GameType.MoJhoSto);
|
||||||
private final VariantCheckBox vntCommander = new VariantCheckBox(GameType.Commander);
|
private final VariantCheckBox vntCommander = new VariantCheckBox(GameType.Commander);
|
||||||
private final VariantCheckBox vntTinyLeaders = new VariantCheckBox(GameType.TinyLeaders);
|
private final VariantCheckBox vntTinyLeaders = new VariantCheckBox(GameType.TinyLeaders);
|
||||||
private final VariantCheckBox vntBrawl = new VariantCheckBox(GameType.Brawl);
|
private final VariantCheckBox vntBrawl = new VariantCheckBox(GameType.Brawl);
|
||||||
@@ -96,9 +97,9 @@ public class VLobby implements ILobbyView {
|
|||||||
private final VariantCheckBox vntArchenemy = new VariantCheckBox(GameType.Archenemy);
|
private final VariantCheckBox vntArchenemy = new VariantCheckBox(GameType.Archenemy);
|
||||||
private final VariantCheckBox vntArchenemyRumble = new VariantCheckBox(GameType.ArchenemyRumble);
|
private final VariantCheckBox vntArchenemyRumble = new VariantCheckBox(GameType.ArchenemyRumble);
|
||||||
private final ImmutableList<VariantCheckBox> vntBoxesLocal =
|
private final ImmutableList<VariantCheckBox> vntBoxesLocal =
|
||||||
ImmutableList.of(vntVanguard, vntMomirBasic, vntCommander, vntTinyLeaders, vntBrawl, vntPlanechase, vntArchenemy, vntArchenemyRumble);
|
ImmutableList.of(vntVanguard, vntMomirBasic, vntMoJhoSto, vntCommander, vntTinyLeaders, vntBrawl, vntPlanechase, vntArchenemy, vntArchenemyRumble);
|
||||||
private final ImmutableList<VariantCheckBox> vntBoxesNetwork =
|
private final ImmutableList<VariantCheckBox> vntBoxesNetwork =
|
||||||
ImmutableList.of(vntVanguard, vntMomirBasic, vntCommander, vntTinyLeaders, vntBrawl /*, vntPlanechase, vntArchenemy, vntArchenemyRumble */);
|
ImmutableList.of(vntVanguard, vntMomirBasic, vntMoJhoSto, vntCommander, vntTinyLeaders, vntBrawl /*, vntPlanechase, vntArchenemy, vntArchenemyRumble */);
|
||||||
|
|
||||||
// Player frame elements
|
// Player frame elements
|
||||||
private final JPanel playersFrame = new JPanel(new MigLayout("insets 0, gap 0 5, wrap, hidemode 3"));
|
private final JPanel playersFrame = new JPanel(new MigLayout("insets 0, gap 0 5, wrap, hidemode 3"));
|
||||||
@@ -387,7 +388,7 @@ public class VLobby implements ILobbyView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setReady(final int index, final boolean ready) {
|
void setReady(final int index, final boolean ready) {
|
||||||
if (ready && decks[index] == null && !vntMomirBasic.isSelected()) {
|
if (ready && decks[index] == null && !vntMomirBasic.isSelected() && !vntMoJhoSto.isSelected()) {
|
||||||
SOptionPane.showErrorDialog("Select a deck before readying!");
|
SOptionPane.showErrorDialog("Select a deck before readying!");
|
||||||
update(false);
|
update(false);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ public abstract class LobbyScreen extends LaunchScreen implements ILobbyView {
|
|||||||
cbVariants.addItem("(None)");
|
cbVariants.addItem("(None)");
|
||||||
cbVariants.addItem(GameType.Vanguard);
|
cbVariants.addItem(GameType.Vanguard);
|
||||||
cbVariants.addItem(GameType.MomirBasic);
|
cbVariants.addItem(GameType.MomirBasic);
|
||||||
|
cbVariants.addItem(GameType.MoJhoSto);
|
||||||
cbVariants.addItem(GameType.Commander);
|
cbVariants.addItem(GameType.Commander);
|
||||||
cbVariants.addItem(GameType.TinyLeaders);
|
cbVariants.addItem(GameType.TinyLeaders);
|
||||||
cbVariants.addItem(GameType.Brawl);
|
cbVariants.addItem(GameType.Brawl);
|
||||||
@@ -345,6 +346,7 @@ public abstract class LobbyScreen extends LaunchScreen implements ILobbyView {
|
|||||||
lstVariants.setListItemRenderer(new VariantRenderer());
|
lstVariants.setListItemRenderer(new VariantRenderer());
|
||||||
lstVariants.addItem(new Variant(GameType.Vanguard));
|
lstVariants.addItem(new Variant(GameType.Vanguard));
|
||||||
lstVariants.addItem(new Variant(GameType.MomirBasic));
|
lstVariants.addItem(new Variant(GameType.MomirBasic));
|
||||||
|
lstVariants.addItem(new Variant(GameType.MoJhoSto));
|
||||||
lstVariants.addItem(new Variant(GameType.Commander));
|
lstVariants.addItem(new Variant(GameType.Commander));
|
||||||
lstVariants.addItem(new Variant(GameType.TinyLeaders));
|
lstVariants.addItem(new Variant(GameType.TinyLeaders));
|
||||||
lstVariants.addItem(new Variant(GameType.Brawl));
|
lstVariants.addItem(new Variant(GameType.Brawl));
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class ArcaneMaster extends Achievement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int evaluate(Player player, Game game) {
|
protected int evaluate(Player player, Game game) {
|
||||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
if (game.getRules().hasAppliedVariant(GameType.MomirBasic) || game.getRules().hasAppliedVariant(GameType.MoJhoSto)) {
|
||||||
return defaultValue; // Momir Basic is exempt from this achievement (custom rules do not require any spellcasting by default)
|
return defaultValue; // Momir Basic is exempt from this achievement (custom rules do not require any spellcasting by default)
|
||||||
}
|
}
|
||||||
if (player.getOutcome().hasWon()) {
|
if (player.getOutcome().hasWon()) {
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class ChallengeAchievements extends AchievementCollection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean checkValidGameMode(final Game game) {
|
public static boolean checkValidGameMode(final Game game) {
|
||||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)
|
if (game.getRules().hasAppliedVariant(GameType.MomirBasic) || game.getRules().hasAppliedVariant(GameType.MoJhoSto)
|
||||||
|| game.getRules().hasAppliedVariant(GameType.Puzzle)) {
|
|| game.getRules().hasAppliedVariant(GameType.Puzzle)) {
|
||||||
// these modes use a fixed pre-defined deck format, so challenge achievements don't apply in them
|
// these modes use a fixed pre-defined deck format, so challenge achievements don't apply in them
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ public class ConstructedAchievements extends AchievementCollection {
|
|||||||
protected void addAchievements() {
|
protected void addAchievements() {
|
||||||
add(new VariantWins(GameType.Vanguard, 25, 50, 100));
|
add(new VariantWins(GameType.Vanguard, 25, 50, 100));
|
||||||
add(new VariantWins(GameType.MomirBasic, 25, 50, 100));
|
add(new VariantWins(GameType.MomirBasic, 25, 50, 100));
|
||||||
|
add(new VariantWins(GameType.MoJhoSto, 25, 50, 100));
|
||||||
add(new VariantWins(GameType.Commander, 25, 50, 100));
|
add(new VariantWins(GameType.Commander, 25, 50, 100));
|
||||||
add(new VariantWins(GameType.TinyLeaders, 25, 50, 100));
|
add(new VariantWins(GameType.TinyLeaders, 25, 50, 100));
|
||||||
add(new VariantWins(GameType.Brawl, 25, 50, 100));
|
add(new VariantWins(GameType.Brawl, 25, 50, 100));
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Domain extends ProgressiveAchievement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean eval(Player player, Game game) {
|
protected boolean eval(Player player, Game game) {
|
||||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
if (game.getRules().hasAppliedVariant(GameType.MomirBasic) || game.getRules().hasAppliedVariant(GameType.MoJhoSto)) {
|
||||||
// Not an achievement in Momir Basic (easy to get due to predefined deck contents)
|
// Not an achievement in Momir Basic (easy to get due to predefined deck contents)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class ManaFlooded extends Achievement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int evaluate(Player player, Game game) {
|
protected int evaluate(Player player, Game game) {
|
||||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
if (game.getRules().hasAppliedVariant(GameType.MomirBasic) || game.getRules().hasAppliedVariant(GameType.MoJhoSto)) {
|
||||||
return 0; // in Momir Basic, getting a lot of lands out is not an achievement:w
|
return 0; // in Momir Basic, getting a lot of lands out is not an achievement:w
|
||||||
}
|
}
|
||||||
if (player.getOutcome().hasWon()) {
|
if (player.getOutcome().hasWon()) {
|
||||||
|
|||||||
@@ -234,25 +234,37 @@ public abstract class GameLobby implements IHasGameType {
|
|||||||
data.appliedVariants.remove(GameType.TinyLeaders);
|
data.appliedVariants.remove(GameType.TinyLeaders);
|
||||||
data.appliedVariants.remove(GameType.Brawl);
|
data.appliedVariants.remove(GameType.Brawl);
|
||||||
data.appliedVariants.remove(GameType.MomirBasic);
|
data.appliedVariants.remove(GameType.MomirBasic);
|
||||||
|
data.appliedVariants.remove(GameType.MoJhoSto);
|
||||||
break;
|
break;
|
||||||
case TinyLeaders:
|
case TinyLeaders:
|
||||||
data.appliedVariants.remove(GameType.Commander);
|
data.appliedVariants.remove(GameType.Commander);
|
||||||
data.appliedVariants.remove(GameType.Brawl);
|
data.appliedVariants.remove(GameType.Brawl);
|
||||||
data.appliedVariants.remove(GameType.MomirBasic);
|
data.appliedVariants.remove(GameType.MomirBasic);
|
||||||
|
data.appliedVariants.remove(GameType.MoJhoSto);
|
||||||
break;
|
break;
|
||||||
case Brawl:
|
case Brawl:
|
||||||
data.appliedVariants.remove(GameType.Commander);
|
data.appliedVariants.remove(GameType.Commander);
|
||||||
data.appliedVariants.remove(GameType.TinyLeaders);
|
data.appliedVariants.remove(GameType.TinyLeaders);
|
||||||
data.appliedVariants.remove(GameType.MomirBasic);
|
data.appliedVariants.remove(GameType.MomirBasic);
|
||||||
|
data.appliedVariants.remove(GameType.MoJhoSto);
|
||||||
break;
|
break;
|
||||||
case Vanguard:
|
case Vanguard:
|
||||||
data.appliedVariants.remove(GameType.MomirBasic);
|
data.appliedVariants.remove(GameType.MomirBasic);
|
||||||
|
data.appliedVariants.remove(GameType.MoJhoSto);
|
||||||
break;
|
break;
|
||||||
case MomirBasic:
|
case MomirBasic:
|
||||||
data.appliedVariants.remove(GameType.Commander);
|
data.appliedVariants.remove(GameType.Commander);
|
||||||
data.appliedVariants.remove(GameType.TinyLeaders);
|
data.appliedVariants.remove(GameType.TinyLeaders);
|
||||||
data.appliedVariants.remove(GameType.Brawl);
|
data.appliedVariants.remove(GameType.Brawl);
|
||||||
data.appliedVariants.remove(GameType.Vanguard);
|
data.appliedVariants.remove(GameType.Vanguard);
|
||||||
|
data.appliedVariants.remove(GameType.MoJhoSto);
|
||||||
|
break;
|
||||||
|
case MoJhoSto:
|
||||||
|
data.appliedVariants.remove(GameType.Commander);
|
||||||
|
data.appliedVariants.remove(GameType.TinyLeaders);
|
||||||
|
data.appliedVariants.remove(GameType.Brawl);
|
||||||
|
data.appliedVariants.remove(GameType.Vanguard);
|
||||||
|
data.appliedVariants.remove(GameType.MomirBasic);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -413,7 +425,6 @@ public abstract class GameLobby implements IHasGameType {
|
|||||||
players.add(rp.setPlayer(lobbyPlayer));
|
players.add(rp.setPlayer(lobbyPlayer));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PaperCard vanguardAvatar = null;
|
|
||||||
if (isCommanderMatch) {
|
if (isCommanderMatch) {
|
||||||
final GameType commanderGameType = isTinyLeadersMatch ? GameType.TinyLeaders : isBrawlMatch ? GameType.Brawl : GameType.Commander;
|
final GameType commanderGameType = isTinyLeadersMatch ? GameType.TinyLeaders : isBrawlMatch ? GameType.Brawl : GameType.Commander;
|
||||||
if (checkLegality) {
|
if (checkLegality) {
|
||||||
@@ -438,9 +449,6 @@ public abstract class GameLobby implements IHasGameType {
|
|||||||
deck = deck == null ? rp.getDeck() : deck;
|
deck = deck == null ? rp.getDeck() : deck;
|
||||||
|
|
||||||
final CardPool avatarPool = deck.get(DeckSection.Avatar);
|
final CardPool avatarPool = deck.get(DeckSection.Avatar);
|
||||||
if (avatarPool != null && (hasVariant(GameType.Vanguard) || hasVariant(GameType.MomirBasic))) {
|
|
||||||
vanguardAvatar = avatarPool.get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
Iterable<PaperCard> schemes = null;
|
Iterable<PaperCard> schemes = null;
|
||||||
Iterable<PaperCard> planes = null;
|
Iterable<PaperCard> planes = null;
|
||||||
@@ -474,14 +482,14 @@ public abstract class GameLobby implements IHasGameType {
|
|||||||
|
|
||||||
//Vanguard
|
//Vanguard
|
||||||
if (variantTypes.contains(GameType.Vanguard)) {
|
if (variantTypes.contains(GameType.Vanguard)) {
|
||||||
if (vanguardAvatar == null) { //ERROR! null if avatar deselected on list
|
if (avatarPool == null || avatarPool.countAll() == 0) { //ERROR! null if avatar deselected on list
|
||||||
SOptionPane.showMessageDialog("No Vanguard avatar selected for " + name
|
SOptionPane.showMessageDialog("No Vanguard avatar selected for " + name
|
||||||
+ ". Please choose one or disable the Vanguard variant");
|
+ ". Please choose one or disable the Vanguard variant");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rp = RegisteredPlayer.forVariants(activeSlots.size(), variantTypes, deck, schemes, isArchenemy, planes, vanguardAvatar);
|
rp = RegisteredPlayer.forVariants(activeSlots.size(), variantTypes, deck, schemes, isArchenemy, planes, avatarPool);
|
||||||
rp.setTeamNumber(team);
|
rp.setTeamNumber(team);
|
||||||
players.add(rp.setPlayer(lobbyPlayer));
|
players.add(rp.setPlayer(lobbyPlayer));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user