[MID] Implemented Tovolar's Huntmaster / Tovolar's Packleader

This commit is contained in:
Evan Kranzler 2021-09-11 16:19:26 -04:00
parent 008c1b1334
commit 58926ce4c1
3 changed files with 124 additions and 0 deletions

View file

@ -0,0 +1,47 @@
package mage.cards.t;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.DayboundAbility;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.WolfToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TovolarsHuntmaster extends CardImpl {
public TovolarsHuntmaster(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WEREWOLF);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
this.transformable = true;
this.secondSideCardClazz = mage.cards.t.TovolarsPackleader.class;
// Whenever Tovolar's Huntmaster enters the battlefield, create two 2/2 green Wolf creature tokens.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WolfToken(), 2)));
// Daybound
this.addAbility(new TransformAbility());
this.addAbility(DayboundAbility.getInstance());
}
private TovolarsHuntmaster(final TovolarsHuntmaster card) {
super(card);
}
@Override
public TovolarsHuntmaster copy() {
return new TovolarsHuntmaster(this);
}
}

View file

@ -0,0 +1,75 @@
package mage.cards.t;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.FightTargetsEffect;
import mage.abilities.keyword.NightboundAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.permanent.token.WolfToken;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TovolarsPackleader extends CardImpl {
private static final FilterPermanent filter
= new FilterControlledPermanent("another Wolf or Werewolf you control");
static {
filter.add(AnotherPredicate.instance);
filter.add(Predicates.or(
SubType.WOLF.getPredicate(),
SubType.WEREWOLF.getPredicate()
));
}
public TovolarsPackleader(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
this.subtype.add(SubType.WEREWOLF);
this.power = new MageInt(7);
this.toughness = new MageInt(7);
this.color.setGreen(true);
this.transformable = true;
this.nightCard = true;
// Whenever Tovolar's Packleader enters the battlefield or attacks, create two 2/2 green Wolf creature tokens.
this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(
new CreateTokenEffect(new WolfToken(), 2)
));
// {2}{G}{G}: Another target Wolf or Werewolf you control fights target creature you don't control.
Ability ability = new SimpleActivatedAbility(new FightTargetsEffect(
"another target Wolf or Werewolf you control fights target creature you don't control"
), new ManaCostsImpl<>("{2}{G}{G}"));
ability.addTarget(new TargetPermanent(filter));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));
// Nightbound
this.addAbility(NightboundAbility.getInstance());
}
private TovolarsPackleader(final TovolarsPackleader card) {
super(card);
}
@Override
public TovolarsPackleader copy() {
return new TovolarsPackleader(this);
}
}

View file

@ -252,6 +252,8 @@ public final class InnistradMidnightHunt extends ExpansionSet {
cards.add(new SetCardInfo("Thraben Exorcism", 39, Rarity.COMMON, mage.cards.t.ThrabenExorcism.class));
cards.add(new SetCardInfo("Timberland Guide", 202, Rarity.COMMON, mage.cards.t.TimberlandGuide.class));
cards.add(new SetCardInfo("Tireless Hauler", 203, Rarity.COMMON, mage.cards.t.TirelessHauler.class));
cards.add(new SetCardInfo("Tovolar's Huntmaster", 204, Rarity.RARE, mage.cards.t.TovolarsHuntmaster.class));
cards.add(new SetCardInfo("Tovolar's Packleader", 204, Rarity.RARE, mage.cards.t.TovolarsPackleader.class));
cards.add(new SetCardInfo("Triskaidekaphile", 81, Rarity.RARE, mage.cards.t.Triskaidekaphile.class));
cards.add(new SetCardInfo("Turn the Earth", 205, Rarity.UNCOMMON, mage.cards.t.TurnTheEarth.class));
cards.add(new SetCardInfo("Unnatural Growth", 206, Rarity.RARE, mage.cards.u.UnnaturalGrowth.class));