mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
deck: added boosters for Commander Masters (CMM) (related to #13160):
This commit is contained in:
parent
832fcbea7e
commit
9d8f87b139
6 changed files with 55 additions and 7 deletions
|
|
@ -15,8 +15,11 @@ public final class CommanderMasters extends ExpansionSet {
|
|||
private CommanderMasters() {
|
||||
super("Commander Masters", "CMM", ExpansionSet.buildDate(2023, 8, 4), SetType.SUPPLEMENTAL);
|
||||
this.blockName = "Commander Masters";
|
||||
this.hasBasicLands = true;
|
||||
this.hasBoosters = false; //temporary
|
||||
|
||||
// possible boosters: set, draft, collector (simplified to use set booster with any cards)
|
||||
// https://mtg.fandom.com/wiki/Commander_Masters
|
||||
// https://magic.wizards.com/en/news/feature/collecting-commander-masters
|
||||
this.enableSetBooster(Integer.MAX_VALUE);
|
||||
|
||||
cards.add(new SetCardInfo("Abrade", 203, Rarity.COMMON, mage.cards.a.Abrade.class));
|
||||
cards.add(new SetCardInfo("Abstruse Archaic", 712, Rarity.RARE, mage.cards.a.AbstruseArchaic.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
@ -84,9 +87,9 @@ public final class CommanderMasters extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Balefire Dragon", 697, Rarity.MYTHIC, mage.cards.b.BalefireDragon.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Bane of Bala Ged", 802, Rarity.UNCOMMON, mage.cards.b.BaneOfBalaGed.class));
|
||||
cards.add(new SetCardInfo("Bastion of Remembrance", 138, Rarity.UNCOMMON, mage.cards.b.BastionOfRemembrance.class));
|
||||
cards.add(new SetCardInfo("Battle Screech", 17, Rarity.COMMON, mage.cards.b.BattleScreech.class));
|
||||
cards.add(new SetCardInfo("Battle at the Helvault", 719, Rarity.RARE, mage.cards.b.BattleAtTheHelvault.class));
|
||||
cards.add(new SetCardInfo("Battle for Bretagard", 916, Rarity.RARE, mage.cards.b.BattleForBretagard.class));
|
||||
cards.add(new SetCardInfo("Battle Screech", 17, Rarity.COMMON, mage.cards.b.BattleScreech.class));
|
||||
cards.add(new SetCardInfo("Beanstalk Giant", 275, Rarity.UNCOMMON, mage.cards.b.BeanstalkGiant.class));
|
||||
cards.add(new SetCardInfo("Binding the Old Gods", 917, Rarity.UNCOMMON, mage.cards.b.BindingTheOldGods.class));
|
||||
cards.add(new SetCardInfo("Blade Sliver", 871, Rarity.UNCOMMON, mage.cards.b.BladeSliver.class));
|
||||
|
|
@ -834,7 +837,7 @@ public final class CommanderMasters extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Smothering Tithe", 693, Rarity.MYTHIC, mage.cards.s.SmotheringTithe.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Snakeskin Veil", 323, Rarity.COMMON, mage.cards.s.SnakeskinVeil.class));
|
||||
cards.add(new SetCardInfo("Sol Ring", 410, Rarity.UNCOMMON, mage.cards.s.SolRing.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Sol Ring", 703, Rarity.UNCOMMON, mage.cards.s.SolRing.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Sol Ring", 703, Rarity.UNCOMMON, mage.cards.s.SolRing.class, FULL_ART_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Solemn Simulacrum", 973, Rarity.RARE, mage.cards.s.SolemnSimulacrum.class));
|
||||
cards.add(new SetCardInfo("Song of the Dryads", 324, Rarity.RARE, mage.cards.s.SongOfTheDryads.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Song of the Dryads", 572, Rarity.RARE, mage.cards.s.SongOfTheDryads.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
@ -925,8 +928,8 @@ public final class CommanderMasters extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Temple of Malady", 1043, Rarity.RARE, mage.cards.t.TempleOfMalady.class));
|
||||
cards.add(new SetCardInfo("Temple of Plenty", 1044, Rarity.RARE, mage.cards.t.TempleOfPlenty.class));
|
||||
cards.add(new SetCardInfo("Temple of Silence", 1045, Rarity.RARE, mage.cards.t.TempleOfSilence.class));
|
||||
cards.add(new SetCardInfo("Temple of Triumph", 1047, Rarity.RARE, mage.cards.t.TempleOfTriumph.class));
|
||||
cards.add(new SetCardInfo("Temple of the False God", 1046, Rarity.UNCOMMON, mage.cards.t.TempleOfTheFalseGod.class));
|
||||
cards.add(new SetCardInfo("Temple of Triumph", 1047, Rarity.RARE, mage.cards.t.TempleOfTriumph.class));
|
||||
cards.add(new SetCardInfo("Tempt with Vengeance", 263, Rarity.RARE, mage.cards.t.TemptWithVengeance.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Tempt with Vengeance", 551, Rarity.RARE, mage.cards.t.TemptWithVengeance.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Temur Battle Rage", 264, Rarity.COMMON, mage.cards.t.TemurBattleRage.class));
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ public final class Unfinity extends ExpansionSet {
|
|||
}
|
||||
|
||||
private Unfinity() {
|
||||
super("Unfinity", "UNF", ExpansionSet.buildDate(2022, 4, 1), SetType.SUPPLEMENTAL);
|
||||
super("Unfinity", "UNF", ExpansionSet.buildDate(2022, 4, 1), SetType.JOKE_SET);
|
||||
this.hasBasicLands = true;
|
||||
this.hasBoosters = false; // not likely to be able to drafts at any point
|
||||
this.hasBoosters = false; // un-set, low implemented cards
|
||||
|
||||
cards.add(new SetCardInfo("\"Name Sticker\" Goblin", "107m", Rarity.COMMON, mage.cards.n.NameStickerGoblin.class));
|
||||
cards.add(new SetCardInfo("Atomwheel Acrobats", 130, Rarity.COMMON, mage.cards.a.AtomwheelAcrobats.class));
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ public final class Unglued extends ExpansionSet {
|
|||
|
||||
private Unglued() {
|
||||
super("Unglued", "UGL", ExpansionSet.buildDate(1998, 8, 11), SetType.JOKE_SET);
|
||||
this.hasBoosters = false; // un-set, low implemented cards
|
||||
|
||||
cards.add(new SetCardInfo("Burning Cinder Fury of Crimson Chaos Fire", 40, Rarity.RARE, mage.cards.b.BurningCinderFuryOfCrimsonChaosFire.class));
|
||||
cards.add(new SetCardInfo("Checks and Balances", 16, Rarity.UNCOMMON, mage.cards.c.ChecksAndBalances.class));
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ public final class Unhinged extends ExpansionSet {
|
|||
|
||||
private Unhinged() {
|
||||
super("Unhinged", "UNH", ExpansionSet.buildDate(2004, 11, 20), SetType.JOKE_SET);
|
||||
this.hasBoosters = false; // un-set, low implemented cards
|
||||
|
||||
cards.add(new SetCardInfo("\"Ach! Hans, Run!\"", 116, Rarity.RARE, mage.cards.a.AchHansRun.class));
|
||||
cards.add(new SetCardInfo("B-I-N-G-O", 92, Rarity.RARE, mage.cards.b.BINGO.class));
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public final class Unstable extends ExpansionSet {
|
|||
|
||||
private Unstable() {
|
||||
super("Unstable", "UST", ExpansionSet.buildDate(2017, 12, 8), SetType.JOKE_SET);
|
||||
this.hasBoosters = false; // un-set, low implemented cards
|
||||
|
||||
cards.add(new SetCardInfo("Amateur Auteur", "3a", Rarity.COMMON, mage.cards.a.AmateurAuteur.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Amateur Auteur", "3b", Rarity.COMMON, mage.cards.a.AmateurAuteur.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -758,6 +758,48 @@ public abstract class ExpansionSet implements Serializable {
|
|||
this.ratioBoosterMythic = 8; // 12.5% chance of a mythic rare
|
||||
}
|
||||
|
||||
/**
|
||||
* Old default booster configuration (after 2020 - ZNR and before 2024 - MKM)
|
||||
*/
|
||||
public void enableSetBooster(int maxCardNumberInBooster) {
|
||||
// https://draftsim.com/draft-booster-vs-set-booster-mtg/
|
||||
this.hasBoosters = true;
|
||||
this.maxCardNumberInBooster = maxCardNumberInBooster;
|
||||
|
||||
this.hasBasicLands = true;
|
||||
this.numBoosterLands = 0;
|
||||
this.numBoosterCommon = 0;
|
||||
this.numBoosterUncommon = 0;
|
||||
this.numBoosterRare = 0;
|
||||
|
||||
// Set boosters contain 12 cards — fewer cards than a Draft booster — but the distribution is much more complex:
|
||||
// 1 art card (5% chance of having a gold signature)
|
||||
this.numBoosterCommon += 1;
|
||||
// 1 basic land (15% chance of being foil)
|
||||
this.numBoosterLands += 1;
|
||||
// 6 commons/uncommons (different combinations possible, the most common is 4 commons and 2 uncommons)
|
||||
this.numBoosterCommon += 4;
|
||||
this.numBoosterUncommon += 2;
|
||||
// 1 unique common/uncommon
|
||||
this.numBoosterCommon += 1;
|
||||
// 2 “wild cards” (any rarity from common to mythic)
|
||||
this.numBoosterUncommon += 1;
|
||||
this.numBoosterRare += 1;
|
||||
// 1 rare (13.5% chance of being a mythic)
|
||||
this.numBoosterRare += 1;
|
||||
this.ratioBoosterMythic = 8;
|
||||
// 1 foil card
|
||||
// - ignore
|
||||
// 1 marketing card/token (25% chance of being a card from The List)
|
||||
// - ignore
|
||||
|
||||
// total 12:
|
||||
// 1 land
|
||||
// 6 common
|
||||
// 3 uncommon
|
||||
// 2 rare
|
||||
}
|
||||
|
||||
/**
|
||||
* New default booster configuration (after 2024 - MKM)
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue