mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Sealed Deck and Booster Draft limited modes now correctly handle and support cards with different art.
This commit is contained in:
@@ -54,7 +54,7 @@ public class CardPool extends ItemPool<PaperCard> {
|
||||
|
||||
|
||||
/**
|
||||
* Adds the.
|
||||
* Adds the card.
|
||||
*
|
||||
* @param cardName
|
||||
* the card name
|
||||
@@ -62,20 +62,35 @@ public class CardPool extends ItemPool<PaperCard> {
|
||||
* the set code
|
||||
*/
|
||||
public void add(final String cardName, final String setCode) {
|
||||
this.add(cardName, setCode, 1);
|
||||
this.add(cardName, setCode, -1, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the.
|
||||
* Adds the card.
|
||||
*
|
||||
* @param cardName
|
||||
* the card name
|
||||
* @param setCode
|
||||
* the set code
|
||||
* @param amount
|
||||
* the amount of cards to add
|
||||
*/
|
||||
public void add(final String cardName, final String setCode, final int amount) {
|
||||
this.add(cardName, setCode, -1, amount);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the card.
|
||||
*
|
||||
* @param cardName the card name
|
||||
* @param setCode the set code
|
||||
* @param artIndex the card art index, -1 for random
|
||||
* @param amount the amount
|
||||
*/
|
||||
public void add(final String cardName, final String setCode, final int amount) {
|
||||
PaperCard cp = StaticData.instance().getCommonCards().tryGetCard(cardName, setCode);
|
||||
public void add(final String cardName, final String setCode, final int artIndex, final int amount) {
|
||||
PaperCard cp = StaticData.instance().getCommonCards().tryGetCard(cardName, setCode, artIndex);
|
||||
if ( cp == null )
|
||||
cp = StaticData.instance().getVariantCards().tryGetCard(cardName, setCode);
|
||||
cp = StaticData.instance().getVariantCards().tryGetCard(cardName, setCode, artIndex);
|
||||
|
||||
if ( cp != null)
|
||||
this.add(cp, amount);
|
||||
|
||||
@@ -153,13 +153,14 @@ public class CEditorDraftingProcess extends ACEditorBase<PaperCard, DeckGroup> {
|
||||
final Deck deck = new Deck();
|
||||
|
||||
// add sideboard to deck
|
||||
CardPool side = deck.getOrCreate(DeckSection.Sideboard);
|
||||
side.addAll(this.getDeckManager().getPool());
|
||||
deck.getOrCreate(DeckSection.Sideboard).addAll(this.getDeckManager().getPool());
|
||||
|
||||
final CardEdition landSet = IBoosterDraft.LAND_SET_CODE[0];
|
||||
final int landsCount = 20;
|
||||
for(String landName : MagicColor.Constant.BASIC_LANDS) {
|
||||
side.add(Singletons.getMagicDb().getCommonCards().getCard(landName, landSet.getCode()), landsCount);
|
||||
for (int i = 0; i < landsCount; i++) {
|
||||
deck.get(DeckSection.Sideboard).add(landName, landSet.getCode(), -1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return deck;
|
||||
|
||||
@@ -172,7 +172,9 @@ public enum CSubmenuSealed implements ICDoc {
|
||||
deck.getOrCreate(DeckSection.Sideboard).addAll(humanPool);
|
||||
|
||||
for (final String element : MagicColor.Constant.BASIC_LANDS) {
|
||||
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), 18);
|
||||
for (int i = 0; i < 18; i++) {
|
||||
deck.get(DeckSection.Sideboard).add(element, sd.getLandSetCode(), -1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
final IStorage<DeckGroup> sealedDecks = Singletons.getModel().getDecks().getSealed();
|
||||
|
||||
Reference in New Issue
Block a user