[VOW] Implemented Arm the Cathars

This commit is contained in:
Evan Kranzler 2021-11-10 07:54:56 -05:00
parent e30ba1b62a
commit 49d1e53831
2 changed files with 71 additions and 0 deletions

View file

@ -0,0 +1,70 @@
package mage.cards.a;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.FirstTargetPointer;
import mage.target.targetpointer.SecondTargetPointer;
import mage.target.targetpointer.ThirdTargetPointer;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ArmTheCathars extends CardImpl {
private static final FilterCreaturePermanent filter1 = new FilterCreaturePermanent();
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent();
private static final FilterCreaturePermanent filter3 = new FilterCreaturePermanent();
static {
filter2.add(new AnotherTargetPredicate(2));
filter3.add(new AnotherTargetPredicate(3));
}
public ArmTheCathars(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}{W}");
// Until end of turn, target creature gets +3/+3, up to one other target creature gets +2/+2, and up to one other target creature gets +1/+1. Those creatures gain vigilance until end of turn.
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 3)
.setTargetPointer(new FirstTargetPointer())
.setText("until end of turn, target creature gets +3/+3"));
TargetCreaturePermanent target1 = new TargetCreaturePermanent(filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1.withChooseHint("+3/+3"));
this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2)
.setTargetPointer(new SecondTargetPointer())
.setText(", up to one other target creature gets +2/+2"));
TargetCreaturePermanent target2 = new TargetCreaturePermanent(0, 1, filter2, false);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2.withChooseHint("+2/+2"));
this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1)
.setTargetPointer(new ThirdTargetPointer())
.setText(", and up to one other target creature gets +1/+1"));
TargetCreaturePermanent target3 = new TargetCreaturePermanent(0, 1, filter3, false);
target3.setTargetTag(3);
this.getSpellAbility().addTarget(target3.withChooseHint("+1/+1"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
VigilanceAbility.getInstance()
).setText("Those creatures gain vigilance until end of turn"));
}
private ArmTheCathars(final ArmTheCathars card) {
super(card);
}
@Override
public ArmTheCathars copy() {
return new ArmTheCathars(this);
}
}

View file

@ -39,6 +39,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
cards.add(new SetCardInfo("Anje, Maid of Dishonor", 231, Rarity.RARE, mage.cards.a.AnjeMaidOfDishonor.class)); cards.add(new SetCardInfo("Anje, Maid of Dishonor", 231, Rarity.RARE, mage.cards.a.AnjeMaidOfDishonor.class));
cards.add(new SetCardInfo("Apprentice Sharpshooter", 185, Rarity.COMMON, mage.cards.a.ApprenticeSharpshooter.class)); cards.add(new SetCardInfo("Apprentice Sharpshooter", 185, Rarity.COMMON, mage.cards.a.ApprenticeSharpshooter.class));
cards.add(new SetCardInfo("Archghoul of Thraben", 93, Rarity.UNCOMMON, mage.cards.a.ArchghoulOfThraben.class)); cards.add(new SetCardInfo("Archghoul of Thraben", 93, Rarity.UNCOMMON, mage.cards.a.ArchghoulOfThraben.class));
cards.add(new SetCardInfo("Arm the Cathars", 3, Rarity.UNCOMMON, mage.cards.a.ArmTheCathars.class));
cards.add(new SetCardInfo("Ascendant Packleader", 186, Rarity.RARE, mage.cards.a.AscendantPackleader.class)); cards.add(new SetCardInfo("Ascendant Packleader", 186, Rarity.RARE, mage.cards.a.AscendantPackleader.class));
cards.add(new SetCardInfo("Avabruck Caretaker", 187, Rarity.MYTHIC, mage.cards.a.AvabruckCaretaker.class)); cards.add(new SetCardInfo("Avabruck Caretaker", 187, Rarity.MYTHIC, mage.cards.a.AvabruckCaretaker.class));
cards.add(new SetCardInfo("Ballista Watcher", 143, Rarity.UNCOMMON, mage.cards.b.BallistaWatcher.class)); cards.add(new SetCardInfo("Ballista Watcher", 143, Rarity.UNCOMMON, mage.cards.b.BallistaWatcher.class));