This commit is contained in:
Alex W. Jackson 2021-10-02 13:07:09 -04:00 committed by GitHub
parent b5033a3b7a
commit 7dd0ba5ce1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 11 deletions

View file

@ -28,7 +28,7 @@ public final class OathOfTheGatewatch extends ExpansionSet {
this.blockName = "Battle for Zendikar"; this.blockName = "Battle for Zendikar";
this.parentSet = BattleForZendikar.getInstance(); this.parentSet = BattleForZendikar.getInstance();
this.hasBoosters = true; this.hasBoosters = true;
this.hasBasicLands = true; this.hasBasicLands = false;
this.numBoosterLands = 1; this.numBoosterLands = 1;
this.numBoosterCommon = 10; this.numBoosterCommon = 10;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;
@ -213,10 +213,10 @@ public final class OathOfTheGatewatch extends ExpansionSet {
cards.add(new SetCardInfo("Wandering Fumarole", 182, Rarity.RARE, mage.cards.w.WanderingFumarole.class)); cards.add(new SetCardInfo("Wandering Fumarole", 182, Rarity.RARE, mage.cards.w.WanderingFumarole.class));
cards.add(new SetCardInfo("Warden of Geometries", 11, Rarity.COMMON, mage.cards.w.WardenOfGeometries.class)); cards.add(new SetCardInfo("Warden of Geometries", 11, Rarity.COMMON, mage.cards.w.WardenOfGeometries.class));
cards.add(new SetCardInfo("Warping Wail", 12, Rarity.UNCOMMON, mage.cards.w.WarpingWail.class)); cards.add(new SetCardInfo("Warping Wail", 12, Rarity.UNCOMMON, mage.cards.w.WarpingWail.class));
cards.add(new SetCardInfo("Wastes", "183a", Rarity.LAND, mage.cards.w.Wastes.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Wastes", "183a", Rarity.COMMON, mage.cards.w.Wastes.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wastes", "184a", Rarity.LAND, mage.cards.w.Wastes.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Wastes", "184a", Rarity.COMMON, mage.cards.w.Wastes.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wastes", 183, Rarity.LAND, mage.cards.w.Wastes.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Wastes", 183, Rarity.COMMON, mage.cards.w.Wastes.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Wastes", 184, Rarity.LAND, mage.cards.w.Wastes.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Wastes", 184, Rarity.COMMON, mage.cards.w.Wastes.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Weapons Trainer", 160, Rarity.UNCOMMON, mage.cards.w.WeaponsTrainer.class)); cards.add(new SetCardInfo("Weapons Trainer", 160, Rarity.UNCOMMON, mage.cards.w.WeaponsTrainer.class));
cards.add(new SetCardInfo("Witness the End", 82, Rarity.COMMON, mage.cards.w.WitnessTheEnd.class)); cards.add(new SetCardInfo("Witness the End", 82, Rarity.COMMON, mage.cards.w.WitnessTheEnd.class));
cards.add(new SetCardInfo("World Breaker", 126, Rarity.MYTHIC, mage.cards.w.WorldBreaker.class)); cards.add(new SetCardInfo("World Breaker", 126, Rarity.MYTHIC, mage.cards.w.WorldBreaker.class));
@ -225,6 +225,16 @@ public final class OathOfTheGatewatch extends ExpansionSet {
cards.add(new SetCardInfo("Zulaport Chainmage", 93, Rarity.COMMON, mage.cards.z.ZulaportChainmage.class)); cards.add(new SetCardInfo("Zulaport Chainmage", 93, Rarity.COMMON, mage.cards.z.ZulaportChainmage.class));
} }
@Override
public List<CardInfo> getCardsByRarity(Rarity rarity) {
List<CardInfo> cards = super.getCardsByRarity(rarity);
if (rarity == Rarity.COMMON) {
// only the full-art versions of Wastes are found in boosters
cards.removeIf(cardInfo -> cardInfo.getCardNumber().contains("a"));
}
return cards;
}
@Override @Override
public List<CardInfo> getSpecialLand() { public List<CardInfo> getSpecialLand() {
if (savedSpecialLand.isEmpty()) { if (savedSpecialLand.isEmpty()) {

View file

@ -30,7 +30,7 @@ public class TimeSpiralRemastered extends ExpansionSet {
private TimeSpiralRemastered() { private TimeSpiralRemastered() {
super("Time Spiral Remastered", "TSR", ExpansionSet.buildDate(2021, 3, 19), SetType.SUPPLEMENTAL); super("Time Spiral Remastered", "TSR", ExpansionSet.buildDate(2021, 3, 19), SetType.SUPPLEMENTAL);
this.hasBoosters = true; this.hasBoosters = true;
this.hasBasicLands = true; this.hasBasicLands = false;
this.maxCardNumberInBooster = 410; this.maxCardNumberInBooster = 410;
this.numBoosterCommon = 10; this.numBoosterCommon = 10;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;

View file

@ -1756,23 +1756,28 @@ public class VerifyCardDataTest {
|| checkName.equals("Forest") || checkName.equals("Forest")
|| checkName.equals("Swamp") || checkName.equals("Swamp")
|| checkName.equals("Plains") || checkName.equals("Plains")
|| checkName.equals("Mountain") || checkName.equals("Mountain");
|| checkName.equals("Wastes");
} }
private void checkBasicLands(Card card, MtgJsonCard ref) { private void checkBasicLands(Card card, MtgJsonCard ref) {
// basic lands must have Rarity.LAND and SuperType.BASIC // basic lands must have Rarity.LAND and SuperType.BASIC
// other cards can't have that stats // other cards can't have that stats
if (isBasicLandName(card.getName())) { String name = card.getName();
if (isBasicLandName(name)) {
// lands // lands
if (card.getRarity() != Rarity.LAND && card.getRarity() != Rarity.SPECIAL) { if (card.getRarity() != Rarity.LAND) {
fail(card, "rarity", "basic land must be Rarity.LAND"); fail(card, "rarity", "basic land must be Rarity.LAND");
} }
if (!card.getSuperType().contains(SuperType.BASIC)) { if (!card.getSuperType().contains(SuperType.BASIC)) {
fail(card, "supertype", "basic land must be SuperType.BASIC"); fail(card, "supertype", "basic land must be SuperType.BASIC");
} }
} else if (name.equals("Wastes")) {
// Wastes are SuperType.BASIC but not necessarily Rarity.LAND
if (!card.getSuperType().contains(SuperType.BASIC)) {
fail(card, "supertype", "Wastes must be SuperType.BASIC");
}
} else { } else {
// non lands // non lands
if (card.getRarity() == Rarity.LAND) { if (card.getRarity() == Rarity.LAND) {