mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[LCC] Implement March of the Canonized (#11540)
This commit is contained in:
parent
2871762a01
commit
4e1a2218b2
4 changed files with 66 additions and 5 deletions
62
Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java
Normal file
62
Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.condition.IntCompareCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.dynamicvalue.common.DevotionCount;
|
||||
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ComparisonType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.IxalanVampireToken;
|
||||
import mage.game.permanent.token.VampireDemonToken;
|
||||
|
||||
/**
|
||||
* @author arcox
|
||||
*/
|
||||
public final class MarchOfTheCanonized extends CardImpl {
|
||||
|
||||
public MarchOfTheCanonized(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{X}{W}{W}");
|
||||
|
||||
// When March of the Canonized enters the battlefield, create X 1/1 white Vampire creature tokens with lifelink.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new IxalanVampireToken(), ManacostVariableValue.ETB)));
|
||||
|
||||
// At the beginning of your upkeep, if your devotion to white and black is seven or greater, create a 4/3 white and black Vampire Demon creature token with flying.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new VampireDemonToken()), TargetController.YOU, false),
|
||||
new MarchOfTheCanonizedCondition(),
|
||||
"At the beginning of your upkeep, "
|
||||
+ "if your devotion to white and black is seven or greater, "
|
||||
+ "create a 4/3 white and black Vampire Demon creature token with flying."
|
||||
).addHint(DevotionCount.WB.getHint()));
|
||||
}
|
||||
|
||||
private MarchOfTheCanonized(final MarchOfTheCanonized card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MarchOfTheCanonized copy() {
|
||||
return new MarchOfTheCanonized(this);
|
||||
}
|
||||
}
|
||||
|
||||
class MarchOfTheCanonizedCondition extends IntCompareCondition {
|
||||
|
||||
MarchOfTheCanonizedCondition() {
|
||||
super(ComparisonType.OR_GREATER, 7);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getInputValue(Game game, Ability source) {
|
||||
return DevotionCount.WB.calculate(game, source, null);
|
||||
}
|
||||
}
|
||||
|
|
@ -164,6 +164,7 @@ public final class LostCavernsOfIxalanCommander extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Majestic Heliopterus", 131, Rarity.UNCOMMON, mage.cards.m.MajesticHeliopterus.class));
|
||||
cards.add(new SetCardInfo("Malcolm, Keen-Eyed Navigator", 161, Rarity.UNCOMMON, mage.cards.m.MalcolmKeenEyedNavigator.class));
|
||||
cards.add(new SetCardInfo("Marauding Raptor", 228, Rarity.RARE, mage.cards.m.MaraudingRaptor.class));
|
||||
cards.add(new SetCardInfo("March of the Canonized", 73, Rarity.RARE, mage.cards.m.MarchOfTheCanonized.class));
|
||||
cards.add(new SetCardInfo("Martyr of Dusk", 132, Rarity.COMMON, mage.cards.m.MartyrOfDusk.class));
|
||||
cards.add(new SetCardInfo("Master of Dark Rites", 83, Rarity.RARE, mage.cards.m.MasterOfDarkRites.class));
|
||||
cards.add(new SetCardInfo("Master of the Pearl Trident", 162, Rarity.RARE, mage.cards.m.MasterOfThePearlTrident.class));
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.abilities.condition;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -6,7 +5,6 @@ import mage.constants.ComparisonType;
|
|||
import mage.game.Game;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public abstract class IntCompareCondition implements Condition {
|
||||
|
|
@ -14,7 +12,7 @@ public abstract class IntCompareCondition implements Condition {
|
|||
protected final ComparisonType type;
|
||||
protected final int value;
|
||||
|
||||
public IntCompareCondition(ComparisonType type, int value) {
|
||||
protected IntCompareCondition(ComparisonType type, int value) {
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
}
|
||||
|
|
@ -24,7 +22,7 @@ public abstract class IntCompareCondition implements Condition {
|
|||
@Override
|
||||
public final boolean apply(Game game, Ability source) {
|
||||
int inputValue = getInputValue(game, source);
|
||||
return ComparisonType.compare(inputValue , type, value);
|
||||
return ComparisonType.compare(inputValue, type, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public final class IxalanVampireToken extends TokenImpl {
|
|||
addAbility(LifelinkAbility.getInstance());
|
||||
}
|
||||
|
||||
protected IxalanVampireToken(final IxalanVampireToken token) {
|
||||
private IxalanVampireToken(final IxalanVampireToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue