deck: added booster and reprints from Fallout (PIP), disabled booster from Summer Magic (related to #13160)

This commit is contained in:
Oleg Agafonov 2025-01-27 10:45:34 +04:00
parent 6db188ea25
commit c61a206b56
9 changed files with 975 additions and 323 deletions

View file

@ -27,9 +27,9 @@ import java.util.UUID;
/** /**
* @author notgreat * @author notgreat
*/ */
public final class BehemothOfVault extends CardImpl { public final class BehemothOfVault0 extends CardImpl {
public BehemothOfVault(UUID ownerId, CardSetInfo setInfo) { public BehemothOfVault0(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}");
this.subtype.add(SubType.ROBOT); this.subtype.add(SubType.ROBOT);
@ -49,13 +49,13 @@ public final class BehemothOfVault extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
} }
private BehemothOfVault(final BehemothOfVault card) { private BehemothOfVault0(final BehemothOfVault0 card) {
super(card); super(card);
} }
@Override @Override
public BehemothOfVault copy() { public BehemothOfVault0 copy() {
return new BehemothOfVault(this); return new BehemothOfVault0(this);
} }
} }

View file

@ -17,14 +17,7 @@ public class AmonkhetRemastered extends ExpansionSet {
private AmonkhetRemastered() { private AmonkhetRemastered() {
super("Amonkhet Remastered", "AKR", ExpansionSet.buildDate(2020, 8, 13), SetType.MAGIC_ARENA); super("Amonkhet Remastered", "AKR", ExpansionSet.buildDate(2020, 8, 13), SetType.MAGIC_ARENA);
this.hasBoosters = true; this.enableArenaBooster(338); // #339 Regal Caracal is top-boxer, not in booster
this.hasBasicLands = true;
this.maxCardNumberInBooster = 338; // Regal Caracal is top-boxer, not in booster
this.numBoosterLands = 1;
this.numBoosterCommon = 10;
this.numBoosterUncommon = 3;
this.numBoosterRare = 1;
this.ratioBoosterMythic = 8;
cards.add(new SetCardInfo("Abandoned Sarcophagus", 268, Rarity.RARE, mage.cards.a.AbandonedSarcophagus.class)); cards.add(new SetCardInfo("Abandoned Sarcophagus", 268, Rarity.RARE, mage.cards.a.AbandonedSarcophagus.class));
cards.add(new SetCardInfo("Abrade", 136, Rarity.UNCOMMON, mage.cards.a.Abrade.class)); cards.add(new SetCardInfo("Abrade", 136, Rarity.UNCOMMON, mage.cards.a.Abrade.class));

File diff suppressed because it is too large Load diff

View file

@ -19,7 +19,7 @@ public class InnistradRemastered extends ExpansionSet {
private InnistradRemastered() { private InnistradRemastered() {
super("Innistrad Remastered", "INR", ExpansionSet.buildDate(2025, 1, 24), SetType.SUPPLEMENTAL); super("Innistrad Remastered", "INR", ExpansionSet.buildDate(2025, 1, 24), SetType.SUPPLEMENTAL);
this.enablePlayOrArenaBooster(480); // play boosters #1480, collector boosters #1491 this.enablePlayBooster(480); // play boosters #1480, collector boosters #1491
this.numBoosterDoubleFaced = -1; this.numBoosterDoubleFaced = -1;
cards.add(new SetCardInfo("Aberrant Researcher", 454, Rarity.UNCOMMON, mage.cards.a.AberrantResearcher.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Aberrant Researcher", 454, Rarity.UNCOMMON, mage.cards.a.AberrantResearcher.class, NON_FULL_USE_VARIOUS));

View file

@ -19,14 +19,7 @@ public class KaladeshRemastered extends ExpansionSet {
private KaladeshRemastered() { private KaladeshRemastered() {
super("Kaladesh Remastered", "KLR", ExpansionSet.buildDate(2020, 11, 12), SetType.MAGIC_ARENA); super("Kaladesh Remastered", "KLR", ExpansionSet.buildDate(2020, 11, 12), SetType.MAGIC_ARENA);
this.hasBoosters = true; this.enableArenaBooster(301); // #302 Sculpting Steel is top-boxer, not in booster
this.hasBasicLands = true;
this.maxCardNumberInBooster = 301;
this.numBoosterLands = 1;
this.numBoosterCommon = 10;
this.numBoosterUncommon = 3;
this.numBoosterRare = 1;
this.ratioBoosterMythic = 8;
cards.add(new SetCardInfo("Aerial Responder", 1, Rarity.UNCOMMON, mage.cards.a.AerialResponder.class)); cards.add(new SetCardInfo("Aerial Responder", 1, Rarity.UNCOMMON, mage.cards.a.AerialResponder.class));
cards.add(new SetCardInfo("Aeronaut Admiral", 2, Rarity.UNCOMMON, mage.cards.a.AeronautAdmiral.class)); cards.add(new SetCardInfo("Aeronaut Admiral", 2, Rarity.UNCOMMON, mage.cards.a.AeronautAdmiral.class));

View file

@ -23,7 +23,7 @@ public class PioneerMasters extends ExpansionSet {
// bonus sheet already included in the PIO set in scryfall, so simplify it (e.g. use all cards) // bonus sheet already included in the PIO set in scryfall, so simplify it (e.g. use all cards)
// TODO: implement special slot with x1 card from bonus sheet // TODO: implement special slot with x1 card from bonus sheet
// https://mtg.fandom.com/wiki/Pioneer_Masters/Bonus_sheet // https://mtg.fandom.com/wiki/Pioneer_Masters/Bonus_sheet
this.enablePlayOrArenaBooster(Integer.MAX_VALUE); this.enableArenaBooster(Integer.MAX_VALUE);
this.hasBasicLands = false; this.hasBasicLands = false;
this.numBoosterDoubleFaced = -1; this.numBoosterDoubleFaced = -1;

View file

@ -19,7 +19,7 @@ public class ShadowsOverInnistradRemastered extends ExpansionSet {
private ShadowsOverInnistradRemastered() { private ShadowsOverInnistradRemastered() {
super("Shadows over Innistrad Remastered", "SIR", ExpansionSet.buildDate(2023, 3, 21), SetType.MAGIC_ARENA); super("Shadows over Innistrad Remastered", "SIR", ExpansionSet.buildDate(2023, 3, 21), SetType.MAGIC_ARENA);
this.enablePlayOrArenaBooster(Integer.MAX_VALUE); this.enableArenaBooster(Integer.MAX_VALUE);
this.numBoosterDoubleFaced = -1; this.numBoosterDoubleFaced = -1;
// TODO: implement special slot with x1 card from SIS - Shadows of the Past // TODO: implement special slot with x1 card from SIS - Shadows of the Past

View file

@ -17,12 +17,8 @@ public class SummerMagicEdgar extends ExpansionSet {
private SummerMagicEdgar() { private SummerMagicEdgar() {
super("Summer Magic / Edgar", "SUM", ExpansionSet.buildDate(1994, 6, 21), SetType.CORE); super("Summer Magic / Edgar", "SUM", ExpansionSet.buildDate(1994, 6, 21), SetType.CORE);
this.hasBoosters = true; this.hasBoosters = false;
this.numBoosterLands = 0; this.hasBasicLands = true;
this.numBoosterCommon = 11;
this.numBoosterUncommon = 3;
this.numBoosterRare = 1;
this.ratioBoosterMythic = 0;
cards.add(new SetCardInfo("Air Elemental", 47, Rarity.UNCOMMON, mage.cards.a.AirElemental.class)); cards.add(new SetCardInfo("Air Elemental", 47, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));
cards.add(new SetCardInfo("Aladdin's Lamp", 231, Rarity.RARE, mage.cards.a.AladdinsLamp.class)); cards.add(new SetCardInfo("Aladdin's Lamp", 231, Rarity.RARE, mage.cards.a.AladdinsLamp.class));

View file

@ -760,7 +760,7 @@ public abstract class ExpansionSet implements Serializable {
/** /**
* New default booster configuration (after 2024 - MKM) * New default booster configuration (after 2024 - MKM)
*/ */
public void enablePlayOrArenaBooster(int maxCardNumberInBooster) { public void enablePlayBooster(int maxCardNumberInBooster) {
// https://mtg.fandom.com/wiki/Play_Booster // https://mtg.fandom.com/wiki/Play_Booster
this.hasBoosters = true; this.hasBoosters = true;
this.maxCardNumberInBooster = maxCardNumberInBooster; this.maxCardNumberInBooster = maxCardNumberInBooster;
@ -789,4 +789,28 @@ public abstract class ExpansionSet implements Serializable {
this.numBoosterUncommon++; this.numBoosterUncommon++;
this.numBoosterRare++; this.numBoosterRare++;
} }
public void enableArenaBooster(int maxCardNumberInBooster) {
// same as play booster on 2024
enablePlayBooster(maxCardNumberInBooster);
}
public void enableCollectorBooster(int maxCardNumberInBooster) {
// simplified rarity distribution
enableCollectorBooster(maxCardNumberInBooster, 1, 5, 4, 5);
}
public void enableCollectorBooster(int maxCardNumberInBooster, int land, int common, int uncommon, int rare) {
// https://mtg.fandom.com/wiki/Collector_Booster
this.hasBoosters = true;
this.maxCardNumberInBooster = maxCardNumberInBooster;
this.numBoosterLands = land;
this.hasBasicLands = land > 0;
this.numBoosterCommon = common;
this.numBoosterUncommon = uncommon;
this.numBoosterRare = rare;
this.ratioBoosterMythic = 8; // 12.5% chance of a mythic rare
}
} }