add YMKM + Emporium Thopterist
Some checks failed
/ build_release (push) Has been cancelled

This commit is contained in:
Failure 2025-09-19 20:22:10 -07:00
parent 466f6ed385
commit 3f29618d03
5 changed files with 84 additions and 2 deletions

View file

@ -109,7 +109,7 @@ public class GathererSets implements Iterable<DownloadJob> {
"NEC", "YNEO", "NEO", "SNC", "NCC", "CLB", "2X2", "DMU", "DMC", "40K", "GN3", "NEC", "YNEO", "NEO", "SNC", "NCC", "CLB", "2X2", "DMU", "DMC", "40K", "GN3",
"UNF", "BRO", "BRC", "BOT", "J22", "DMR", "ONE", "ONC", "SCH", "UNF", "BRO", "BRC", "BOT", "J22", "DMR", "ONE", "ONC", "SCH",
"MOM", "MOC", "MUL", "MAT", "LTR", "CMM", "WOE", "WHO", "RVR", "WOT", "MOM", "MOC", "MUL", "MAT", "LTR", "CMM", "WOE", "WHO", "RVR", "WOT",
"WOC", "SPG", "LCI", "LCC", "REX", "PIP", "MKM", "MKC", "CLU", "OTJ", "WOC", "SPG", "LCI", "LCC", "REX", "PIP", "YMKM", "MKM", "MKC", "CLU", "OTJ",
"OTC", "OTP", "BIG", "MH3", "M3C", "ACR", "BLB", "BLC", "DSK", "DSC", "OTC", "OTP", "BIG", "MH3", "M3C", "ACR", "BLB", "BLC", "DSK", "DSC",
"MB2", "FDN", "INR", "J25", "DRC", "DFT", "TDC", "TDM", "FCA", "FIC", "MB2", "FDN", "INR", "J25", "DRC", "DFT", "TDC", "TDM", "FCA", "FIC",
"FIN", "SIS", "SIR", "SLD", "AKR", "MD1", "ANB", "LTC", "BRR", "HA1", "FIN", "SIS", "SIR", "SLD", "AKR", "MD1", "ANB", "LTC", "BRR", "HA1",
@ -181,6 +181,7 @@ public class GathererSets implements Iterable<DownloadJob> {
codeReplacements.put("WTH", "WL"); codeReplacements.put("WTH", "WL");
codeReplacements.put("YMID", "Y22"); codeReplacements.put("YMID", "Y22");
codeReplacements.put("YNEO", "Y22NEO"); codeReplacements.put("YNEO", "Y22NEO");
} }
public GathererSets() { public GathererSets() {

View file

@ -570,6 +570,7 @@ public class ScryfallImageSupportCards {
add("RVR"); // Ravnica Remastered add("RVR"); // Ravnica Remastered
add("PL24"); // Year of the Dragon 2024 add("PL24"); // Year of the Dragon 2024
add("PIP"); // Fallout add("PIP"); // Fallout
add("YMKM"); // Alchemy: Murders at Karlov Manor
add("MKM"); // Murders at Karlov Manor add("MKM"); // Murders at Karlov Manor
add("MKC"); // Murders at Karlov Manor Commander add("MKC"); // Murders at Karlov Manor Commander
add("PSS4"); // MKM Standard Showdown add("PSS4"); // MKM Standard Showdown

View file

@ -0,0 +1,50 @@
package mage.cards.e;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.ConjureCardEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.constants.SubType;
import mage.filter.common.FilterCreaturePermanent;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
/**
*
* @author Failure
*/
public final class EmporiumThopterist extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Thopter creatures");
static {
filter.add(SubType.THOPTER.getPredicate());
}
public EmporiumThopterist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}");
this.subtype.add(SubType.VEDALKEN);
this.subtype.add(SubType.ARTIFICER);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// Thopters you control get +2/+0.
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield, filter, false)));
// At the beginning of your upkeep, conjure a card named Ornithopter into your hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConjureCardEffect("Ornithopter")));
}
private EmporiumThopterist(final EmporiumThopterist card) {
super(card);
}
@Override
public EmporiumThopterist copy() {
return new EmporiumThopterist(this);
}
}

View file

@ -0,0 +1,28 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.cards.ExpansionSet.SetCardInfo;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* @author JayDi85
*/
public final class AlchemyMurdersAtKarlovManor extends ExpansionSet {
private static final AlchemyMurdersAtKarlovManor instance = new AlchemyMurdersAtKarlovManor();
public static AlchemyMurdersAtKarlovManor getInstance() {
return instance;
}
private AlchemyMurdersAtKarlovManor() {
super("Alchemy: Murders at Karlov Manor", "YMKM", ExpansionSet.buildDate(2024, 3, 5), SetType.SUPPLEMENTAL);
this.hasBasicLands = false;
cards.add(new SetCardInfo("Emporium Thopterist", 5, Rarity.UNCOMMON, mage.cards.e.EmporiumThopterist.class));
}
}

View file

@ -40,6 +40,8 @@ public enum CardRepository {
private static final String VERSION_ENTITY_NAME = "card"; private static final String VERSION_ENTITY_NAME = "card";
private static final long CARD_DB_VERSION = 55; // raise this if db structure was changed private static final long CARD_DB_VERSION = 55; // raise this if db structure was changed
private static final long CARD_CONTENT_VERSION = 241; // raise this if new cards were added to the server private static final long CARD_CONTENT_VERSION = 241; // raise this if new cards were added to the server
private static final long CARD_CONTENT_VERSION_FOUL = 1; // raise this if specifically foul magic patches changed things
private Dao<CardInfo, Object> cardsDao; private Dao<CardInfo, Object> cardsDao;
@ -680,7 +682,7 @@ public enum CardRepository {
} }
public long getContentVersionConstant() { public long getContentVersionConstant() {
return CARD_CONTENT_VERSION; return CARD_CONTENT_VERSION + CARD_CONTENT_VERSION_FOUL;
} }
public void closeDB(boolean writeCompact) { public void closeDB(boolean writeCompact) {