Added TODO notes for cards with activated abilities that rely on adjustTargets and therefore can't be copied correctly (Mairsil, etc). Gonna work on this in a separate branch

This commit is contained in:
Evan Kranzler 2017-09-16 10:24:35 -04:00
parent e2c0b96f4a
commit 0b574dd6f2
23 changed files with 23 additions and 0 deletions

View file

@ -70,6 +70,7 @@ public class AlexiZephyrMage extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
//TODO: Make ability properly copiable
// {X}{U}, {tap}, Discard two cards: Return X target creatures to their owners' hands.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{X}{U}"));
ability.addCost(new TapSourceCost());

View file

@ -60,6 +60,7 @@ public class AncientHellkite extends CardImpl {
this.power = new MageInt(6);
this.toughness = new MageInt(6);
//TODO: Make ability properly copiable
this.addAbility(FlyingAbility.getInstance());
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"), SourceAttackingCondition.instance);
ability.addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature defending player controls")));

View file

@ -53,6 +53,7 @@ public class CandelabraOfTawnos extends CardImpl {
public CandelabraOfTawnos(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
//TODO: Make ability properly copiable
// {X}, {T}: Untap X target lands.
Effect effect = new UntapTargetEffect();
effect.setText("untap X target lands");

View file

@ -75,6 +75,7 @@ public class ChampionOfStraySouls extends CardImpl {
* ability, before you pay any costs. You can't target any of the
* creatures you sacrifice.
*/
//TODO: Make ability properly copiable
// {3}{B}{B}, {T}, Sacrifice X other creatures: Return X target creatures from your graveyard to the battlefield.
Effect effect = new ReturnFromGraveyardToBattlefieldTargetEffect();
effect.setText("Return X target creatures from your graveyard to the battlefield");

View file

@ -68,6 +68,7 @@ public class CrownOfDoom extends CardImpl {
effect.setText("it gets +2/+0 until end of turn");
this.addAbility(new AttacksAllTriggeredAbility(effect, false, StaticFilters.FILTER_PERMANENT_CREATURE, SetTargetPointer.PERMANENT, true));
//TODO: Make ability properly copiable
// {2}: Target player other than Crown of Doom's owner gains control of it. Activate this ability only during your turn.
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new CrownOfDoomEffect(), new ManaCostsImpl("{2}"), MyTurnCondition.instance);
ability.addTarget(new TargetPlayer(1, 1, false, new FilterPlayer("player other than Crown of Doom's owner")));

View file

@ -62,6 +62,7 @@ public class CuombajjWitches extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(3);
//TODO: Make ability properly copiable
// {T}: Cuombajj Witches deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent's choice.
Effect effect = new DamageTargetEffect(1);
effect.setText("{this} deals 1 damage to target creature or player and 1 damage to target creature or player of an opponent's choice");

View file

@ -58,6 +58,7 @@ public class DeclarationOfNaught extends CardImpl {
// As Declaration of Naught enters the battlefield, name a card.
this.addAbility(new AsEntersBattlefieldAbility(new NameACardEffect(NameACardEffect.TypeOfName.ALL)));
//TODO: Make ability properly copiable
// {U}: Counter target spell with the chosen name.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}"));
ability.addTarget(new TargetSpell(filter));

View file

@ -68,6 +68,7 @@ public class DeepfireElemental extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(4);
//TODO: Make ability properly copiable
// {X}{X}{1}: Destroy target artifact or creature with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{X}{X}{1}"));
ability.addTarget(new TargetPermanent(filter));

View file

@ -53,6 +53,7 @@ public class FloodwaterDam extends CardImpl {
public FloodwaterDam(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
//TODO: Make ability properly copiable
// {X}{X}{1}, {tap}: Tap X target lands.
Effect effect = new TapTargetEffect();
effect.setText("tap X target lands");

View file

@ -69,6 +69,7 @@ public class GethLordOfTheVault extends CardImpl {
// Intimidate
this.addAbility(IntimidateAbility.getInstance());
//TODO: Make ability properly copiable
// {X}{B}: Put target artifact or creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control tapped.
// Then that player puts the top X cards of his or her library into his or her graveyard.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GethLordOfTheVaultEffect(), new ManaCostsImpl("{X}{B}"));

View file

@ -62,6 +62,7 @@ public class GorillaShaman extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
//TODO: Make ability properly copiable
// {X}{X}{1}: Destroy target noncreature artifact with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{X}{X}{1}"));
ability.addTarget(new TargetPermanent(new FilterArtifactPermanent("noncreature artifact with converted mana cost X")));

View file

@ -81,6 +81,7 @@ public class HakimLoreweaver extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
//TODO: Make ability properly copiable
// {U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new HakimLoreweaverEffect(), new ManaCostsImpl("{U}{U}"), new HakimLoreweaverCondition(), rule);
ability.addTarget(new TargetCardInYourGraveyard());

View file

@ -60,6 +60,7 @@ public class HearthKami extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
//TODO: Make ability properly copiable
// {X}, Sacrifice Hearth Kami: Destroy target artifact with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{X}"));
ability.addCost(new SacrificeSourceCost());

View file

@ -70,6 +70,7 @@ public class HopeOfGhirapur extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
//TODO: Make ability properly copiable
// Sacrifice Hope of Ghirapur: Until your next turn, target player who was dealt combat damage by Hope of Ghirapur this turn can't cast noncreature spells.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HopeOfGhirapurCantCastEffect(), new SacrificeSourceCost());
ability.addTarget(new TargetPlayer());

View file

@ -74,6 +74,7 @@ public class LinessaZephyrMage extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
//TODO: Make ability properly copiable
// {X}{U}{U}, {tap}: Return target creature with converted mana cost X to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{X}{U}{U}"));
ability.addCost(new TapSourceCost());

View file

@ -59,6 +59,7 @@ public class MagusOfTheCandelabra extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
//TODO: Make ability properly copiable
// {X}, {T}: Untap X target lands.
Effect effect = new UntapTargetEffect();
effect.setText("untap X target lands");

View file

@ -68,6 +68,7 @@ public class MartyrOfBones extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
//TODO: Make ability properly copiable
// {1}, Reveal X black cards from your hand, Sacrifice Martyr of Bones: Exile up to X target cards from a single graveyard.
Effect effect = new ExileTargetEffect(null, null, Zone.GRAVEYARD);
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(1));

View file

@ -64,6 +64,7 @@ public class MinamoSightbender extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
//TODO: Make ability properly copiable
// {X}, {T}: Target creature with power X or less can't be blocked this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl("{X}"));
Target target = new TargetCreaturePermanent(filter);

View file

@ -53,6 +53,7 @@ public class MishrasHelix extends CardImpl {
public MishrasHelix(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}");
//TODO: Make ability properly copiable
// {X}, {tap}: Tap X target lands.
Effect effect = new TapTargetEffect("X target lands");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));

View file

@ -74,6 +74,7 @@ public class NecropolisFiend extends CardImpl {
this.addAbility(new DelveAbility());
// Flying
this.addAbility(FlyingAbility.getInstance());
//TODO: Make ability properly copiable
// {X}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn.
DynamicValue xValue = new SignInversionDynamicValue(new ManacostVariableValue());
Effect effect = new BoostTargetEffect(xValue,xValue,Duration.EndOfTurn);

View file

@ -67,6 +67,7 @@ public class Plaguebearer extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
//TODO: Make ability properly copiable
// {X}{X}{B}: Destroy target nonblack creature with converted mana cost X.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{X}{X}{B}"));
ability.addTarget(new TargetPermanent(filter));

View file

@ -71,6 +71,7 @@ public class QuillmaneBaku extends CardImpl {
// Whenever you cast a Spirit or Arcane spell, you may put a ki counter on Skullmane Baku.
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
//TODO: Make ability properly copiable
// {1}, Tap, Remove X ki counters from Quillmane Baku: Return target creature with converted mana cost X or less to its owner's hand.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new QuillmaneBakuReturnEffect(), new GenericManaCost(1));
ability.addCost(new TapSourceCost());

View file

@ -69,6 +69,7 @@ public class SynodArtificer extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(2);
//TODO: Make ability properly copiable
// {X}, {tap}: Tap X target noncreature artifacts.
Effect tapEffect = new TapTargetEffect();
tapEffect.setText("Tap X target noncreature artifacts.");