mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Fix some more NPE related to gauntlets
This commit is contained in:
@@ -197,13 +197,7 @@ public class DamageDealEffect extends DamageBaseEffect {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardCollection assigneeCards = new CardCollection();
|
CardCollection assigneeCards = new CardCollection(Iterables.filter(tgts, Card.class));
|
||||||
// Do we have a way of doing this in a better fashion?
|
|
||||||
for (GameObject obj : tgts) {
|
|
||||||
if (obj instanceof Card) {
|
|
||||||
assigneeCards.add((Card) obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Player assigningPlayer = players.get(0);
|
Player assigningPlayer = players.get(0);
|
||||||
Map<Card, Integer> map = assigningPlayer.getController().assignCombatDamage(sourceLKI, assigneeCards, dmg, null, true);
|
Map<Card, Integer> map = assigningPlayer.getController().assignCombatDamage(sourceLKI, assigneeCards, dmg, null, true);
|
||||||
|
|||||||
@@ -122,8 +122,8 @@ public enum CSubmenuGauntletBuild implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addDeck() {
|
private void addDeck() {
|
||||||
final Deck deckToAdd = view.getLstLeft().getPlayer().getDeck();
|
final Deck deckToAdd = view.getLstLeft().getPlayer() != null ? view.getLstLeft().getPlayer().getDeck() : null;
|
||||||
if ( null == deckToAdd ) {
|
if (null == deckToAdd) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
workingDecks.add(deckToAdd);
|
workingDecks.add(deckToAdd);
|
||||||
@@ -145,7 +145,7 @@ public enum CSubmenuGauntletBuild implements ICDoc {
|
|||||||
private void deckUp() {
|
private void deckUp() {
|
||||||
final int oldIndex = view.getLstRight().getSelectedIndex();
|
final int oldIndex = view.getLstRight().getSelectedIndex();
|
||||||
|
|
||||||
if (oldIndex == 0) { return; }
|
if (oldIndex <= 0) { return; }
|
||||||
|
|
||||||
final Deck movingDeck = workingDecks.remove(oldIndex);
|
final Deck movingDeck = workingDecks.remove(oldIndex);
|
||||||
workingDecks.add(oldIndex - 1, movingDeck);
|
workingDecks.add(oldIndex - 1, movingDeck);
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ public class DeckgenUtil {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Deck buildCardGenDeck(PaperCard card, PaperCard secondKeycard, GameFormat format, boolean isForAI){
|
public static Deck buildCardGenDeck(PaperCard card, PaperCard secondKeycard, GameFormat format, boolean isForAI){
|
||||||
return buildLDACardGenDeck(card, format, isForAI);
|
return buildLDACardGenDeck(card, format, isForAI);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -425,6 +425,8 @@ public class DeckgenUtil {
|
|||||||
/** @return {@link forge.deck.Deck} */
|
/** @return {@link forge.deck.Deck} */
|
||||||
public static Deck getRandomCustomDeck() {
|
public static Deck getRandomCustomDeck() {
|
||||||
final IStorage<Deck> allDecks = FModel.getDecks().getConstructed();
|
final IStorage<Deck> allDecks = FModel.getDecks().getConstructed();
|
||||||
|
// in case user has not created any yet
|
||||||
|
if (allDecks.size() == 0) { return null; }
|
||||||
final int rand = (int) (Math.floor(MyRandom.getRandom().nextDouble() * allDecks.size()));
|
final int rand = (int) (Math.floor(MyRandom.getRandom().nextDouble() * allDecks.size()));
|
||||||
final String name = allDecks.getItemNames().toArray(new String[0])[rand];
|
final String name = allDecks.getItemNames().toArray(new String[0])[rand];
|
||||||
return allDecks.get(name);
|
return allDecks.get(name);
|
||||||
|
|||||||
@@ -37,30 +37,32 @@ public class GauntletUtil {
|
|||||||
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getStandard().getFilterPrinted(),true);
|
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getStandard().getFilterPrinted(),true);
|
||||||
break;
|
break;
|
||||||
case STANDARD_CARDGEN_DECK:
|
case STANDARD_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getStandard(),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getStandard(),true);
|
||||||
break;
|
break;
|
||||||
case PIONEER_CARDGEN_DECK:
|
case PIONEER_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPioneer(),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPioneer(),true);
|
||||||
break;
|
break;
|
||||||
case HISTORIC_CARDGEN_DECK:
|
case HISTORIC_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getHistoric(),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getHistoric(),true);
|
||||||
break;
|
break;
|
||||||
case MODERN_CARDGEN_DECK:
|
case MODERN_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getModern(),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getModern(),true);
|
||||||
break;
|
break;
|
||||||
case LEGACY_CARDGEN_DECK:
|
case LEGACY_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Legacy"),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Legacy"),true);
|
||||||
break;
|
break;
|
||||||
case VINTAGE_CARDGEN_DECK:
|
case VINTAGE_CARDGEN_DECK:
|
||||||
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
|
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
|
||||||
break;
|
break;
|
||||||
case MODERN_COLOR_DECK:
|
case MODERN_COLOR_DECK:
|
||||||
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
|
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
|
||||||
break;
|
break;
|
||||||
case CUSTOM_DECK:
|
case CUSTOM_DECK:
|
||||||
deck = DeckgenUtil.getRandomCustomDeck();
|
deck = DeckgenUtil.getRandomCustomDeck();
|
||||||
eventNames.add(deck.getName());
|
if (deck != null) { // fall back to precon if none available
|
||||||
break;
|
eventNames.add(deck.getName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
case PRECONSTRUCTED_DECK:
|
case PRECONSTRUCTED_DECK:
|
||||||
deck = DeckgenUtil.getRandomPreconDeck();
|
deck = DeckgenUtil.getRandomPreconDeck();
|
||||||
eventNames.add(deck.getName());
|
eventNames.add(deck.getName());
|
||||||
|
|||||||
@@ -56,8 +56,10 @@ public class TournamentUtil {
|
|||||||
break;
|
break;
|
||||||
case CUSTOM_DECK:
|
case CUSTOM_DECK:
|
||||||
deck = DeckgenUtil.getRandomCustomDeck();
|
deck = DeckgenUtil.getRandomCustomDeck();
|
||||||
eventNames.add(deck.getName());
|
if (deck != null) { // fall back to precon if none available
|
||||||
break;
|
eventNames.add(deck.getName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
case PRECONSTRUCTED_DECK:
|
case PRECONSTRUCTED_DECK:
|
||||||
deck = DeckgenUtil.getRandomPreconDeck();
|
deck = DeckgenUtil.getRandomPreconDeck();
|
||||||
eventNames.add(deck.getName());
|
eventNames.add(deck.getName());
|
||||||
|
|||||||
Reference in New Issue
Block a user