diff --git a/Mage.Sets/src/mage/sets/DragonsMaze.java b/Mage.Sets/src/mage/sets/DragonsMaze.java index 9103c0c59b2..bda1dc8e8cc 100644 --- a/Mage.Sets/src/mage/sets/DragonsMaze.java +++ b/Mage.Sets/src/mage/sets/DragonsMaze.java @@ -84,7 +84,7 @@ public class DragonsMaze extends ExpansionSet { @Override public List getSpecialRare() { - List specialRare = new ArrayList(); + List specialRare = new ArrayList<>(); CardCriteria criteria = new CardCriteria(); criteria.setCodes("GTC").name("Breeding Pool"); specialRare.addAll(CardRepository.instance.findCards(criteria)); diff --git a/Mage.Sets/src/mage/sets/VintageMasters.java b/Mage.Sets/src/mage/sets/VintageMasters.java index 6bc9a97b799..5d612fe9fcd 100644 --- a/Mage.Sets/src/mage/sets/VintageMasters.java +++ b/Mage.Sets/src/mage/sets/VintageMasters.java @@ -28,8 +28,15 @@ package mage.sets; +import java.util.ArrayList; import java.util.GregorianCalendar; +import java.util.List; import mage.cards.ExpansionSet; +import mage.cards.repository.CardCriteria; +import mage.cards.repository.CardInfo; +import mage.cards.repository.CardRepository; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.constants.SetType; @@ -50,11 +57,47 @@ public class VintageMasters extends ExpansionSet { super("Vintage Masters", "VMA", "mage.sets.vintagemasters", new GregorianCalendar(2014, 6, 16).getTime(), SetType.REPRINT); this.hasBasicLands = false; this.hasBoosters = true; + this.numBoosterSpecial = 1; this.numBoosterLands = 0; - this.numBoosterCommon = 11; + this.numBoosterCommon = 10; this.numBoosterUncommon = 3; this.numBoosterRare = 1; this.ratioBoosterMythic = 8; } + @Override + public List getSpecialCommon() { + CardCriteria criteria = new CardCriteria(); + criteria.rarities(Rarity.COMMON).setCodes(this.code); + return CardRepository.instance.findCards(criteria); + } + + @Override + public List getSpecialUncommon() { + CardCriteria criteria = new CardCriteria(); + criteria.rarities(Rarity.UNCOMMON).setCodes(this.code); + return CardRepository.instance.findCards(criteria); + } + + @Override + public List getSpecialRare() { + CardCriteria criteria = new CardCriteria(); + criteria.rarities(Rarity.RARE).setCodes(this.code); + return CardRepository.instance.findCards(criteria); + } + + @Override + public List getSpecialMythic() { + CardCriteria criteria = new CardCriteria(); + criteria.rarities(Rarity.MYTHIC).setCodes(this.code); + return CardRepository.instance.findCards(criteria); + } + + @Override + public List getSpecialBonus() { + CardCriteria criteria = new CardCriteria(); + criteria.rarities(Rarity.BONUS).setCodes(this.code); + return CardRepository.instance.findCards(criteria); + } + } diff --git a/Mage/src/mage/cards/ExpansionSet.java b/Mage/src/mage/cards/ExpansionSet.java index 9fc9ec44fcf..a1835ea17ab 100644 --- a/Mage/src/mage/cards/ExpansionSet.java +++ b/Mage/src/mage/cards/ExpansionSet.java @@ -155,6 +155,10 @@ public abstract class ExpansionSet implements Serializable { if (numBoosterSpecial > 0) { int specialCards = 0; + List specialBonus = getSpecialBonus(); + if (specialBonus != null) { + specialCards += specialBonus.size(); + } List specialMythic = getSpecialMythic(); if (specialMythic != null) { specialCards += specialMythic.size(); @@ -181,7 +185,7 @@ public abstract class ExpansionSet implements Serializable { } continue; } - if (rnd.nextInt(5) < 4) { + if (rnd.nextInt(4) < 3) { if (specialUncommon != null) { addToBooster(booster, specialUncommon); } else { @@ -198,10 +202,21 @@ public abstract class ExpansionSet implements Serializable { continue; } if (specialMythic != null) { - addToBooster(booster, specialMythic); + if (specialBonus != null) { + if (rnd.nextInt(3) < 2) { + addToBooster(booster, specialMythic); + continue; + } + } else { + addToBooster(booster, specialMythic); + continue; + } } else { i--; } + if (specialBonus != null) { + addToBooster(booster, specialBonus); + } } } } @@ -259,13 +274,20 @@ public abstract class ExpansionSet implements Serializable { public List getSpecialCommon() { return null; } + public List getSpecialUncommon() { return null; } + public List getSpecialRare() { return null; } + public List getSpecialMythic() { return null; } + + public List getSpecialBonus() { + return null; + } }