[MKM] Implement Museum Nightwatch

This commit is contained in:
theelk801 2024-01-19 09:55:58 -05:00
parent dc282e8d37
commit b29bb6026f
3 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,44 @@
package mage.cards.m;
import mage.MageInt;
import mage.abilities.common.DiesSourceTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.DisguiseAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.DetectiveToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MuseumNightwatch extends CardImpl {
public MuseumNightwatch(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.subtype.add(SubType.CENTAUR);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// When Museum Nightwatch dies, create a 2/2 white and blue Detective creature token.
this.addAbility(new DiesSourceTriggeredAbility(new CreateTokenEffect(new DetectiveToken())));
// Disguise {1}{W}
this.addAbility(new DisguiseAbility(this, new ManaCostsImpl<>("{1}{W}")));
}
private MuseumNightwatch(final MuseumNightwatch card) {
super(card);
}
@Override
public MuseumNightwatch copy() {
return new MuseumNightwatch(this);
}
}

View file

@ -72,6 +72,7 @@ public final class MurdersAtKarlovManor extends ExpansionSet {
cards.add(new SetCardInfo("Meddling Youths", 219, Rarity.UNCOMMON, mage.cards.m.MeddlingYouths.class));
cards.add(new SetCardInfo("Meticulous Archive", 264, Rarity.RARE, mage.cards.m.MeticulousArchive.class));
cards.add(new SetCardInfo("Mountain", 275, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
cards.add(new SetCardInfo("Museum Nightwatch", 25, Rarity.COMMON, mage.cards.m.MuseumNightwatch.class));
cards.add(new SetCardInfo("Nightdrinker Moroii", 96, Rarity.UNCOMMON, mage.cards.n.NightdrinkerMoroii.class));
cards.add(new SetCardInfo("No More Lies", 221, Rarity.UNCOMMON, mage.cards.n.NoMoreLies.class));
cards.add(new SetCardInfo("No Witnesses", 27, Rarity.RARE, mage.cards.n.NoWitnesses.class));

View file

@ -0,0 +1,29 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class DetectiveToken extends TokenImpl {
public DetectiveToken() {
super("Detective Token", "2/2 white and blue Detective creature token");
cardType.add(CardType.CREATURE);
color.setWhite(true);
color.setBlue(true);
subtype.add(SubType.DETECTIVE);
power = new MageInt(2);
toughness = new MageInt(2);
}
private DetectiveToken(final DetectiveToken token) {
super(token);
}
public DetectiveToken copy() {
return new DetectiveToken(this);
}
}