[VOW] Implemented Dreamshackle Geist

This commit is contained in:
Evan Kranzler 2021-11-06 08:52:40 -04:00
parent 248015308c
commit 3c84c010ce
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.d;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class DreamshackleGeist extends CardImpl {
public DreamshackleGeist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}");
this.subtype.add(SubType.SPIRIT);
this.power = new MageInt(3);
this.toughness = new MageInt(1);
// Flying
this.addAbility(FlyingAbility.getInstance());
// At the beginning of combat on your turn, choose up to one
// Tap target creature.
Ability ability = new BeginningOfCombatTriggeredAbility(
new TapTargetEffect(), TargetController.YOU, false
);
ability.addTarget(new TargetCreaturePermanent());
ability.getModes().setMinModes(0);
ability.getModes().setMaxModes(1);
// Target creature doesn't untap during its controller's next untap step.
Mode mode = new Mode(new DontUntapInControllersNextUntapStepTargetEffect("target creature"));
mode.addTarget(new TargetCreaturePermanent());
ability.addMode(mode);
this.addAbility(ability);
}
private DreamshackleGeist(final DreamshackleGeist card) {
super(card);
}
@Override
public DreamshackleGeist copy() {
return new DreamshackleGeist(this);
}
}

View file

@ -97,6 +97,7 @@ public final class InnistradCrimsonVow extends ExpansionSet {
cards.add(new SetCardInfo("Dreadfeast Demon", 108, Rarity.RARE, mage.cards.d.DreadfeastDemon.class));
cards.add(new SetCardInfo("Dreadlight Monstrosity", 57, Rarity.COMMON, mage.cards.d.DreadlightMonstrosity.class));
cards.add(new SetCardInfo("Dreamroot Cascade", 262, Rarity.RARE, mage.cards.d.DreamrootCascade.class));
cards.add(new SetCardInfo("Dreamshackle Geist", 58, Rarity.RARE, mage.cards.d.DreamshackleGeist.class));
cards.add(new SetCardInfo("Drogskol Armaments", 10, Rarity.COMMON, mage.cards.d.DrogskolArmaments.class));
cards.add(new SetCardInfo("Drogskol Infantry", 10, Rarity.COMMON, mage.cards.d.DrogskolInfantry.class));
cards.add(new SetCardInfo("Dying to Serve", 109, Rarity.RARE, mage.cards.d.DyingToServe.class));