[TDM] Implement Zurgo, Thunder's Decree

This commit is contained in:
theelk801 2025-03-30 20:45:36 -04:00
parent f9ff7e05a1
commit 8bde863b94
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.z;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.continuous.CantBeSacrificedSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.MobilizeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.predicate.permanent.TokenPredicate;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ZurgoThundersDecree extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.WARRIOR, "");
static {
filter.add(TokenPredicate.TRUE);
}
private static final Condition condition = new IsStepCondition(PhaseStep.END_TURN, true);
public ZurgoThundersDecree(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}{B}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.ORC);
this.subtype.add(SubType.WARRIOR);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
// Mobilize 2
this.addAbility(new MobilizeAbility(2));
// During your end step, Warrior tokens you control have "This token can't be sacrificed."
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(new GainAbilityControlledEffect(
new SimpleStaticAbility(new CantBeSacrificedSourceEffect()), Duration.WhileOnBattlefield
), condition, "during your end step, Warrior tokens you control have \"This token can't be sacrificed.\"")));
}
private ZurgoThundersDecree(final ZurgoThundersDecree card) {
super(card);
}
@Override
public ZurgoThundersDecree copy() {
return new ZurgoThundersDecree(this);
}
}

View file

@ -216,6 +216,7 @@ public final class TarkirDragonstorm extends ExpansionSet {
cards.add(new SetCardInfo("Worthy Cost", 99, Rarity.COMMON, mage.cards.w.WorthyCost.class));
cards.add(new SetCardInfo("Yathan Tombguard", 100, Rarity.UNCOMMON, mage.cards.y.YathanTombguard.class));
cards.add(new SetCardInfo("Zurgo's Vanguard", 133, Rarity.UNCOMMON, mage.cards.z.ZurgosVanguard.class));
cards.add(new SetCardInfo("Zurgo, Thunder's Decree", 237, Rarity.RARE, mage.cards.z.ZurgoThundersDecree.class));
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName()));
}