mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Prevent adding basic lands to sealed deck by default for mobile game
This commit is contained in:
@@ -113,7 +113,7 @@ public enum CSubmenuSealed implements ICDoc {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private <T extends DeckBase> void setupSealed() {
|
private <T extends DeckBase> void setupSealed() {
|
||||||
final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck();
|
final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(true);
|
||||||
if (sealed == null) { return; }
|
if (sealed == null) { return; }
|
||||||
|
|
||||||
final ACEditorBase<? extends InventoryItem, T> editor = (ACEditorBase<? extends InventoryItem, T>) new CEditorLimited(
|
final ACEditorBase<? extends InventoryItem, T> editor = (ACEditorBase<? extends InventoryItem, T>) new CEditorLimited(
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class SealedScreen extends LaunchScreen {
|
|||||||
ThreadUtil.invokeInGameThread(new Runnable() { //must run in game thread to prevent blocking UI thread
|
ThreadUtil.invokeInGameThread(new Runnable() { //must run in game thread to prevent blocking UI thread
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck();
|
final DeckGroup sealed = SealedCardPoolGenerator.generateSealedDeck(false);
|
||||||
if (sealed == null) { return; }
|
if (sealed == null) { return; }
|
||||||
|
|
||||||
FThreads.invokeInEdtLater(new Runnable() {
|
FThreads.invokeInEdtLater(new Runnable() {
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class SealedCardPoolGenerator {
|
|||||||
/** The Land set code. */
|
/** The Land set code. */
|
||||||
private String landSetCode = null;
|
private String landSetCode = null;
|
||||||
|
|
||||||
public static DeckGroup generateSealedDeck() {
|
public static DeckGroup generateSealedDeck(boolean addBasicLands) {
|
||||||
final String prompt = "Choose Sealed Deck Format";
|
final String prompt = "Choose Sealed Deck Format";
|
||||||
final LimitedPoolType poolType = SGuiChoose.oneOrNone(prompt, LimitedPoolType.values());
|
final LimitedPoolType poolType = SGuiChoose.oneOrNone(prompt, LimitedPoolType.values());
|
||||||
if (poolType == null) { return null; }
|
if (poolType == null) { return null; }
|
||||||
@@ -107,23 +107,25 @@ public class SealedCardPoolGenerator {
|
|||||||
final Deck deck = new Deck(sDeckName);
|
final Deck deck = new Deck(sDeckName);
|
||||||
deck.getOrCreate(DeckSection.Sideboard).addAll(humanPool);
|
deck.getOrCreate(DeckSection.Sideboard).addAll(humanPool);
|
||||||
|
|
||||||
final int landsCount = 10;
|
if (addBasicLands) {
|
||||||
|
final int landsCount = 10;
|
||||||
|
|
||||||
final boolean isZendikarSet = sd.getLandSetCode().equals("ZEN"); // we want to generate one kind of Zendikar lands at a time only
|
final boolean isZendikarSet = sd.getLandSetCode().equals("ZEN"); // we want to generate one kind of Zendikar lands at a time only
|
||||||
final boolean zendikarSetMode = MyRandom.getRandom().nextBoolean();
|
final boolean zendikarSetMode = MyRandom.getRandom().nextBoolean();
|
||||||
|
|
||||||
for (final String element : MagicColor.Constant.BASIC_LANDS) {
|
for (final String element : MagicColor.Constant.BASIC_LANDS) {
|
||||||
int numArt = FModel.getMagicDb().getCommonCards().getArtCount(element, sd.getLandSetCode());
|
int numArt = FModel.getMagicDb().getCommonCards().getArtCount(element, sd.getLandSetCode());
|
||||||
int minArtIndex = isZendikarSet ? (zendikarSetMode ? 1 : 5) : 1;
|
int minArtIndex = isZendikarSet ? (zendikarSetMode ? 1 : 5) : 1;
|
||||||
int maxArtIndex = isZendikarSet ? minArtIndex + 3 : numArt;
|
int maxArtIndex = isZendikarSet ? minArtIndex + 3 : numArt;
|
||||||
|
|
||||||
if (FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_ART_IN_POOLS)) {
|
if (FModel.getPreferences().getPrefBoolean(FPref.UI_RANDOM_ART_IN_POOLS)) {
|
||||||
for (int i = minArtIndex; i <= maxArtIndex; i++) {
|
for (int i = minArtIndex; i <= maxArtIndex; i++) {
|
||||||
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), i, numArt > 1 ? landsCount : 30);
|
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), i, numArt > 1 ? landsCount : 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), 30);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
|
||||||
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), 30);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user