[SNC] Implemented Mage's Attendant

This commit is contained in:
Evan Kranzler 2022-04-09 09:16:05 -04:00
parent 46c613625d
commit 7ff6fd98f3
5 changed files with 87 additions and 5 deletions

View file

@ -0,0 +1,42 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.CounterUnlessPaysEffect;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.target.TargetSpell;
/**
* @author TheElk801
*/
public final class MagesAttendantToken extends TokenImpl {
public MagesAttendantToken() {
super("Wizard Token", "1/1 blue Wizard creature token with \"{1}, Sacrifice this creature: Counter target noncreature spell unless its controller pays {1}.\"");
cardType.add(CardType.CREATURE);
subtype.add(SubType.WIZARD);
color.setBlue(true);
power = new MageInt(1);
toughness = new MageInt(1);
Ability ability = new SimpleActivatedAbility(
new CounterUnlessPaysEffect(new GenericManaCost(1)), new GenericManaCost(1)
);
ability.addCost(new SacrificeSourceCost().setText("sacrifice this creature"));
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));
this.addAbility(ability);
}
private MagesAttendantToken(final MagesAttendantToken token) {
super(token);
}
public MagesAttendantToken copy() {
return new MagesAttendantToken(this);
}
}

View file

@ -4,13 +4,12 @@ import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class WizardToken extends TokenImpl {
public WizardToken() {
this("WAR");
}
public WizardToken(String setCode) {
super("Wizard Token", "2/2 blue Wizard creature token");
cardType.add(CardType.CREATURE);
subtype.add(SubType.WIZARD);
@ -18,7 +17,7 @@ public final class WizardToken extends TokenImpl {
power = new MageInt(2);
toughness = new MageInt(2);
setOriginalExpansionSetCode(setCode);
setOriginalExpansionSetCode("WAR");
}
private WizardToken(final WizardToken token) {