[NEO] Implementing Compleated mechanic and hybrid phyrexian mana (ready for review) (#8677)

* [NEO] Implemented Tamiyo, Compleated Sage

* replaced PhyrexianManaCost calls with ManaCostsImpl calls

* updated phyrexian mana implementation

* added phyrexian hybrid symbol support

* updated starting loyalty implementation for planeswalkers

* change compleated to singleton

* implemented Compleated ability

* added some missing loyalty setters

* changed when loyalty is added to a walker to fix bugs

* slight change to some tests to fix them from failing

* fixed token issue
This commit is contained in:
Evan Kranzler 2022-02-10 10:25:23 -05:00 committed by GitHub
parent 3709b5c098
commit 54203c16d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
293 changed files with 865 additions and 870 deletions

View file

@ -28,6 +28,7 @@ public class GathererSymbols implements Iterable<DownloadJob> {
private static final String[] symbols = {"W", "U", "B", "R", "G", private static final String[] symbols = {"W", "U", "B", "R", "G",
"W/U", "U/B", "B/R", "R/G", "G/W", "W/B", "U/R", "B/G", "R/W", "G/U", "W/U", "U/B", "B/R", "R/G", "G/W", "W/B", "U/R", "B/G", "R/W", "G/U",
"W/U/P", "U/B/P", "B/R/P", "R/G/P", "G/W/P", "W/B/P", "U/R/P", "B/G/P", "R/W/P", "G/U/P",
"2/W", "2/U", "2/B", "2/R", "2/G", "2/W", "2/U", "2/B", "2/R", "2/G",
"WP", "UP", "BP", "RP", "GP", "WP", "UP", "BP", "RP", "GP",
"X", "S", "T", "Q", "C", "E"}; "X", "S", "T", "Q", "C", "E"};

View file

@ -42,6 +42,7 @@ public class ScryfallSymbolsSource implements Iterable<DownloadJob> {
// copy-past symbols list from gatherer download // copy-past symbols list from gatherer download
private static final String[] SYMBOLS_LIST = {"W", "U", "B", "R", "G", private static final String[] SYMBOLS_LIST = {"W", "U", "B", "R", "G",
"W/U", "U/B", "B/R", "R/G", "G/W", "W/B", "U/R", "B/G", "R/W", "G/U", "W/U", "U/B", "B/R", "R/G", "G/W", "W/B", "U/R", "B/G", "R/W", "G/U",
"W/U/P", "U/B/P", "B/R/P", "R/G/P", "G/W/P", "W/B/P", "U/R/P", "B/G/P", "R/W/P", "G/U/P",
"2/W", "2/U", "2/B", "2/R", "2/G", "2/W", "2/U", "2/B", "2/R", "2/G",
"WP", "UP", "BP", "RP", "GP", "WP", "UP", "BP", "RP", "GP",
"X", "S", "T", "Q", "C", "E"}; "X", "S", "T", "Q", "C", "E"};

View file

@ -1668,7 +1668,7 @@ public class ComputerPlayer extends PlayerImpl implements Player {
} }
// pay phyrexian life costs // pay phyrexian life costs
if (cost instanceof PhyrexianManaCost) { if (cost.isPhyrexian()) {
return cost.pay(ability, game, ability, playerId, false, null) || approvingObject != null; return cost.pay(ability, game, ability, playerId, false, null) || approvingObject != null;
} }

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect;
@ -38,7 +37,7 @@ public final class AjaniAdversaryOfTyrants extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Put a +1/+1 counter on each of up to two target creatures. // +1: Put a +1/+1 counter on each of up to two target creatures.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 1); Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 1);

View file

@ -4,7 +4,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.ControllerLifeCount; import mage.abilities.dynamicvalue.common.ControllerLifeCount;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
@ -34,7 +33,7 @@ public final class AjaniCallerOfThePride extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Put a +1/+1 counter on up to one target creature. // +1: Put a +1/+1 counter on up to one target creature.
Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance());
effect.setText("Put a +1/+1 counter on up to one target creature"); effect.setText("Put a +1/+1 counter on up to one target creature");

View file

@ -4,7 +4,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
@ -35,7 +34,7 @@ public final class AjaniGoldmane extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: You gain 2 life. // +1: You gain 2 life.
this.addAbility(new LoyaltyAbility(new GainLifeEffect(2), 1)); this.addAbility(new LoyaltyAbility(new GainLifeEffect(2), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@ -31,7 +30,7 @@ public final class AjaniInspiringLeader extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: You gain 2 life. Put two +1/+1 counters on up to one target creature. // +2: You gain 2 life. Put two +1/+1 counters on up to one target creature.
Ability ability = new LoyaltyAbility(new GainLifeEffect(2), 2); Ability ability = new LoyaltyAbility(new GainLifeEffect(2), 2);

View file

@ -4,7 +4,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.abilities.effects.common.counter.DistributeCountersEffect; import mage.abilities.effects.common.counter.DistributeCountersEffect;
@ -43,7 +42,7 @@ public final class AjaniMentorOfHeroes extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Distribute three +1/+1 counters among one, two, or three target creatures you control // +1: Distribute three +1/+1 counters among one, two, or three target creatures you control
Ability ability = new LoyaltyAbility(new DistributeCountersEffect(CounterType.P1P1, 3, false, "one, two, or three target creatures you control"), 1); Ability ability = new LoyaltyAbility(new DistributeCountersEffect(CounterType.P1P1, 3, false, "one, two, or three target creatures you control"), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
@ -44,7 +43,7 @@ public final class AjaniSteadfast extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Until end of turn, up to one target creature gets +1/+1 and gains first strike, vigilance, and lifelink. // +1: Until end of turn, up to one target creature gets +1/+1 and gains first strike, vigilance, and lifelink.
Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn); Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn);

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
@ -32,7 +31,7 @@ public final class AjaniStrengthOfThePride extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: You gain life equal to the number of creatures you control plus the number of planeswalkers you control. // +1: You gain life equal to the number of creatures you control plus the number of planeswalkers you control.
this.addAbility(new LoyaltyAbility(new GainLifeEffect( this.addAbility(new LoyaltyAbility(new GainLifeEffect(

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@ -38,7 +37,7 @@ public final class AjaniTheGreathearted extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// Creatures you control have vigilance. // Creatures you control have vigilance.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.ExileAndGainLifeEqualPowerTargetEffect; import mage.abilities.effects.common.ExileAndGainLifeEqualPowerTargetEffect;
import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect; import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect;
import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.abilities.effects.common.counter.AddCountersAllEffect;
@ -41,7 +40,7 @@ public final class AjaniUnyielding extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +2: Reveal the top three cards of your library. Put all nonland permanent cards revealed this way into your hand and the rest on the bottom of your library in any order. // +2: Reveal the top three cards of your library. Put all nonland permanent cards revealed this way into your hand and the rest on the bottom of your library in any order.
this.addAbility(new LoyaltyAbility(new RevealLibraryPutIntoHandEffect(3, nonlandPermanentFilter, Zone.LIBRARY), 2)); this.addAbility(new LoyaltyAbility(new RevealLibraryPutIntoHandEffect(3, nonlandPermanentFilter, Zone.LIBRARY), 2));

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.ControllerLifeCount; import mage.abilities.dynamicvalue.common.ControllerLifeCount;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect;
@ -32,7 +31,7 @@ public final class AjaniValiantProtector extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +2: Put two +1/+1 counters on up to one target creature. // +2: Put two +1/+1 counters on up to one target creature.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), 2); Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), 2);

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DestroyAllControlledTargetEffect; import mage.abilities.effects.common.DestroyAllControlledTargetEffect;
@ -36,7 +35,7 @@ public final class AjaniVengeant extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Target permanent doesn't untap during its controller's next untap step. // +1: Target permanent doesn't untap during its controller's next untap step.
LoyaltyAbility ability1 = new LoyaltyAbility(new DontUntapInControllersNextUntapStepTargetEffect(), 1); LoyaltyAbility ability1 = new LoyaltyAbility(new DontUntapInControllersNextUntapStepTargetEffect(), 1);

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.ControllerLifeCount; import mage.abilities.dynamicvalue.common.ControllerLifeCount;
import mage.abilities.dynamicvalue.common.CreaturesYouControlCount; import mage.abilities.dynamicvalue.common.CreaturesYouControlCount;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
@ -29,7 +28,7 @@ public final class AjaniWiseCounselor extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AJANI); this.subtype.add(SubType.AJANI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: You gain 1 life for each creature you control. // +2: You gain 1 life for each creature you control.
this.addAbility(new LoyaltyAbility(new GainLifeEffect(CreaturesYouControlCount.instance) this.addAbility(new LoyaltyAbility(new GainLifeEffect(CreaturesYouControlCount.instance)

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.CanBeYourCommanderAbility; import mage.abilities.common.CanBeYourCommanderAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ExileTargetForSourceEffect; import mage.abilities.effects.common.ExileTargetForSourceEffect;
@ -46,7 +45,7 @@ public class AminatouTheFateshifter extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AMINATOU); this.subtype.add(SubType.AMINATOU);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Draw a card, then put a card from your hand on top of your library. // +1: Draw a card, then put a card from your hand on top of your library.
Ability ability = new LoyaltyAbility(new AminatouPlusEffect(), +1); Ability ability = new LoyaltyAbility(new AminatouPlusEffect(), +1);

View file

@ -1,7 +1,6 @@
package mage.cards.a; package mage.cards.a;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.effects.keyword.AmassEffect; import mage.abilities.effects.keyword.AmassEffect;
@ -26,7 +25,7 @@ public final class AngrathCaptainOfChaos extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ANGRATH); this.subtype.add(SubType.ANGRATH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// Creatures you control have menace. // Creatures you control have menace.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect( this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageAllControlledTargetEffect; import mage.abilities.effects.common.DamageAllControlledTargetEffect;
@ -37,7 +36,7 @@ public final class AngrathMinotaurPirate extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ANGRATH); this.subtype.add(SubType.ANGRATH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: Angrath, Minotaur Pirate deals 1 damage to target opponent and each creature that player controls. // +2: Angrath, Minotaur Pirate deals 1 damage to target opponent and each creature that player controls.
Effects effects1 = new Effects(); Effects effects1 = new Effects();

View file

@ -5,7 +5,6 @@ import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect;
@ -41,7 +40,7 @@ public final class AngrathTheFlameChained extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ANGRATH); this.subtype.add(SubType.ANGRATH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Each opponent discards a card and loses 2 life. // +1: Each opponent discards a card and loses 2 life.
LoyaltyAbility ability = new LoyaltyAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT), 1); LoyaltyAbility ability = new LoyaltyAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.effects.common.TransformSourceEffect;
@ -34,7 +33,7 @@ public final class ArlinnKord extends CardImpl {
this.secondSideCardClazz = ArlinnEmbracedByTheMoon.class; this.secondSideCardClazz = ArlinnEmbracedByTheMoon.class;
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Until end of turn, up to one target creature gets +2/+2 and gains vigilance and haste. // +1: Until end of turn, up to one target creature gets +2/+2 and gains vigilance and haste.
Effect effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn); Effect effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn);

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.mana.BasicManaEffect; import mage.abilities.effects.mana.BasicManaEffect;
import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.HasteAbility;
@ -28,7 +27,7 @@ public final class ArlinnTheMoonsFury extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ARLINN); this.subtype.add(SubType.ARLINN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
this.color.setRed(true); this.color.setRed(true);
this.color.setGreen(true); this.color.setGreen(true);
this.nightCard = true; this.nightCard = true;

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect; import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect;
@ -33,7 +32,7 @@ public final class ArlinnThePacksHope extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ARLINN); this.subtype.add(SubType.ARLINN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
this.secondSideCardClazz = mage.cards.a.ArlinnTheMoonsFury.class; this.secondSideCardClazz = mage.cards.a.ArlinnTheMoonsFury.class;
// Daybound // Daybound

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -28,7 +27,7 @@ public final class ArlinnVoiceOfThePack extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ARLINN); this.subtype.add(SubType.ARLINN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(7)); this.setStartingLoyalty(7);
// Each creature you control that's a Wolf or Werewolf enters the battlefield with an additional +1/+1 counter on it. // Each creature you control that's a Wolf or Werewolf enters the battlefield with an additional +1/+1 counter on it.
this.addAbility(new SimpleStaticAbility(new ArlinnVoiceOfThePackReplacementEffect())); this.addAbility(new SimpleStaticAbility(new ArlinnVoiceOfThePackReplacementEffect()));

View file

@ -3,7 +3,6 @@ package mage.cards.a;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect; import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect;
@ -29,7 +28,7 @@ public final class AshiokDreamRender extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ASHIOK); this.subtype.add(SubType.ASHIOK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// Spells and abilities your opponents control can't cause their controller to search their library. // Spells and abilities your opponents control can't cause their controller to search their library.
this.addAbility(new SimpleStaticAbility(new AshiokDreamRenderEffect())); this.addAbility(new SimpleStaticAbility(new AshiokDreamRenderEffect()));

View file

@ -4,7 +4,6 @@ import java.util.UUID;
import mage.ApprovingObject; import mage.ApprovingObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.Card; import mage.cards.Card;
@ -30,7 +29,7 @@ public final class AshiokNightmareMuse extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ASHIOK); this.subtype.add(SubType.ASHIOK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Create a 2/3 blue and black Nightmare creature token with "Whenever this creature attacks or blocks, each opponent exiles the top two cards of their library." // +1: Create a 2/3 blue and black Nightmare creature token with "Whenever this creature attacks or blocks, each opponent exiles the top two cards of their library."
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new AshiokNightmareMuseToken()), 1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new AshiokNightmareMuseToken()), 1));

View file

@ -4,7 +4,6 @@ package mage.cards.a;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.costs.Cost; import mage.abilities.costs.Cost;
import mage.abilities.costs.common.PayVariableLoyaltyCost; import mage.abilities.costs.common.PayVariableLoyaltyCost;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
@ -35,7 +34,7 @@ public final class AshiokNightmareWeaver extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ASHIOK); this.subtype.add(SubType.ASHIOK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: Exile the top three cards of target opponent's library. // +2: Exile the top three cards of target opponent's library.
LoyaltyAbility ability = new LoyaltyAbility(new AshiokNightmareWeaverExileEffect(), 2); LoyaltyAbility ability = new LoyaltyAbility(new AshiokNightmareWeaverExileEffect(), 2);

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.MillCardsEachPlayerEffect; import mage.abilities.effects.common.MillCardsEachPlayerEffect;
@ -34,7 +33,7 @@ public final class AshiokSculptorOfFears extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ASHIOK); this.subtype.add(SubType.ASHIOK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +2: Draw a card. Each player puts the top two cards of their library into their graveyard. // +2: Draw a card. Each player puts the top two cards of their library into their graveyard.
Ability ability = new LoyaltyAbility( Ability ability = new LoyaltyAbility(

View file

@ -2,7 +2,6 @@ package mage.cards.a;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.DamageControllerEffect;
@ -38,7 +37,7 @@ public final class AurraSingBaneOfJedi extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.AURRA); this.subtype.add(SubType.AURRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: You may have {this} deal 2 damage to target creature. If you don't, {this} deals 1 damage to you. // +1: You may have {this} deal 2 damage to target creature. If you don't, {this} deals 1 damage to you.
Ability ability = new LoyaltyAbility(new AurraSingBaneOfJediEffect(), +1); Ability ability = new LoyaltyAbility(new AurraSingBaneOfJediEffect(), +1);

View file

@ -3,7 +3,6 @@ package mage.cards.b;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect;
@ -39,7 +38,7 @@ public final class BasriDevotedPaladin extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.BASRI); this.subtype.add(SubType.BASRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Put a +1/+1 counter on up to one target creature. It gains vigilance until end of turn. // +1: Put a +1/+1 counter on up to one target creature. It gains vigilance until end of turn.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect( Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.b;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -39,7 +38,7 @@ public final class BasriKet extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.BASRI); this.subtype.add(SubType.BASRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Put a +1/+1 counter on up to one target creature. It gains indestructible until end of turn. // +1: Put a +1/+1 counter on up to one target creature. It gains indestructible until end of turn.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect( Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(

View file

@ -1,28 +1,25 @@
package mage.cards.b; package mage.cards.b;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.PhyrexianManaCost; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.effects.common.TapTargetEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
*
* @author North * @author North
*/ */
public final class BlindingSouleater extends CardImpl { public final class BlindingSouleater extends CardImpl {
public BlindingSouleater(UUID ownerId, CardSetInfo setInfo) { public BlindingSouleater(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}");
this.subtype.add(SubType.PHYREXIAN); this.subtype.add(SubType.PHYREXIAN);
this.subtype.add(SubType.CLERIC); this.subtype.add(SubType.CLERIC);
@ -30,9 +27,7 @@ public final class BlindingSouleater extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// {W/P},{T}: Tap target creature. ( can be paid with either or 2 life.) // {W/P},{T}: Tap target creature. ( can be paid with either or 2 life.)
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, SimpleActivatedAbility ability = new SimpleActivatedAbility(new TapTargetEffect(), new ManaCostsImpl<>("{W/P}"));
new TapTargetEffect(),
new PhyrexianManaCost(ColoredManaSymbol.W));
ability.addCost(new TapSourceCost()); ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);

View file

@ -4,7 +4,6 @@ import mage.MageObjectReference;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
@ -55,7 +54,7 @@ public final class CalixDestinysHand extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CALIX); this.subtype.add(SubType.CALIX);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Look at the top four cards of your library. You may reveal an enchantment card from among them and put that card into your hand. Put the rest on the bottom of your library in a random order. // +1: Look at the top four cards of your library. You may reveal an enchantment card from among them and put that card into your hand. Put the rest on the bottom of your library in a random order.
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect( this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DrawCardAllEffect; import mage.abilities.effects.common.DrawCardAllEffect;
@ -39,7 +38,7 @@ public final class ChandraAblaze extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Discard a card. If a red card is discarded this way, Chandra Ablaze deals 4 damage to any target. // +1: Discard a card. If a red card is discarded this way, Chandra Ablaze deals 4 damage to any target.
LoyaltyAbility ability = new LoyaltyAbility(new ChandraAblazeEffect1(), 1); LoyaltyAbility ability = new LoyaltyAbility(new ChandraAblazeEffect1(), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.effects.*; import mage.abilities.effects.*;
import mage.abilities.effects.common.InfoEffect; import mage.abilities.effects.common.InfoEffect;
@ -55,7 +54,7 @@ public final class ChandraAcolyteOfFlame extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// 0: Put a loyalty counter on each red planeswalker you control. // 0: Put a loyalty counter on each red planeswalker you control.
this.addAbility(new LoyaltyAbility(new AddCountersAllEffect(CounterType.LOYALTY.createInstance(), filter), 0)); this.addAbility(new LoyaltyAbility(new AddCountersAllEffect(CounterType.LOYALTY.createInstance(), filter), 0));

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.CantBeCounteredSourceAbility; import mage.abilities.common.CantBeCounteredSourceAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.GetXLoyaltyValue; import mage.abilities.dynamicvalue.common.GetXLoyaltyValue;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageAllEffect; import mage.abilities.effects.common.DamageAllEffect;
@ -40,7 +39,7 @@ public final class ChandraAwakenedInferno extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(6)); this.setStartingLoyalty(6);
// This spell can't be countered. // This spell can't be countered.
this.addAbility(new CantBeCounteredSourceAbility()); this.addAbility(new CantBeCounteredSourceAbility());

View file

@ -5,7 +5,6 @@ import java.util.UUID;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.mana.BasicManaEffect; import mage.abilities.effects.mana.BasicManaEffect;
import mage.abilities.effects.common.DamageAllControlledTargetEffect; import mage.abilities.effects.common.DamageAllControlledTargetEffect;
@ -30,7 +29,7 @@ public final class ChandraBoldPyromancer extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Add {R}{R}. Chandra, Bold Pyromancer deals 2 damage to target player. // +1: Add {R}{R}. Chandra, Bold Pyromancer deals 2 damage to target player.
Ability ability = new LoyaltyAbility(new BasicManaEffect(Mana.RedMana(2)), +1); Ability ability = new LoyaltyAbility(new BasicManaEffect(Mana.RedMana(2)), +1);

View file

@ -7,7 +7,6 @@ import mage.MageObject;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -39,7 +38,7 @@ public final class ChandraDressedToKill extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Add {R}. Chandra, Dressed to Kill deals 1 damage to up to one target player or planeswalker. // +1: Add {R}. Chandra, Dressed to Kill deals 1 damage to up to one target player or planeswalker.
Ability ability = new LoyaltyAbility(new AddManaToManaPoolSourceControllerEffect(new Mana(ManaType.RED, 1)), 1); Ability ability = new LoyaltyAbility(new AddManaToManaPoolSourceControllerEffect(new Mana(ManaType.RED, 1)), 1);

View file

@ -4,7 +4,6 @@ import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
@ -29,7 +28,7 @@ public final class ChandraFireArtisan extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// Whenever one or more loyalty counters are removed from Chandra, Fire Artisan, she deals that much damage to target opponent or planeswalker. // Whenever one or more loyalty counters are removed from Chandra, Fire Artisan, she deals that much damage to target opponent or planeswalker.
this.addAbility(new ChandraFireArtisanTriggeredAbility()); this.addAbility(new ChandraFireArtisanTriggeredAbility());

View file

@ -2,7 +2,6 @@ package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.GetXLoyaltyValue; import mage.abilities.dynamicvalue.common.GetXLoyaltyValue;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -30,7 +29,7 @@ public final class ChandraFlamecaller extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Create two 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step. // +1: Create two 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.
this.addAbility(new LoyaltyAbility(new ChandraElementalEffect(), 1)); this.addAbility(new LoyaltyAbility(new ChandraElementalEffect(), 1));

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.CastCardFromGraveyardThenExileItEffect; import mage.abilities.effects.CastCardFromGraveyardThenExileItEffect;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.DamagePlayersEffect;
@ -39,7 +38,7 @@ public final class ChandraFlamesCatalyst extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Chandra, Flame's Catalyst deals 3 damage to each opponent. // +1: Chandra, Flame's Catalyst deals 3 damage to each opponent.
this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(3, TargetController.OPPONENT), 1)); this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(3, TargetController.OPPONENT), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageAllControlledTargetEffect; import mage.abilities.effects.common.DamageAllControlledTargetEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
@ -32,7 +31,7 @@ public final class ChandraFlamesFury extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Chandra, Flame's Fury deals 2 damage to any target. // +1: Chandra, Flame's Fury deals 2 damage to any target.
Ability ability = new LoyaltyAbility(new DamageTargetEffect(2), 1); Ability ability = new LoyaltyAbility(new DamageTargetEffect(2), 1);

View file

@ -2,7 +2,6 @@ package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -37,7 +36,7 @@ public final class ChandraGremlinWrangler extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Create a 2/2 red Gremlin creature token. // +1: Create a 2/2 red Gremlin creature token.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new GremlinToken()), 1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new GremlinToken()), 1));

View file

@ -4,7 +4,6 @@ import mage.Mana;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
@ -43,7 +42,7 @@ public final class ChandraHeartOfFire extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Discard your hand, then exile the top three cards of your library. Until end of turn, you may play cards exiled this way. // +1: Discard your hand, then exile the top three cards of your library. Until end of turn, you may play cards exiled this way.
Ability ability = new LoyaltyAbility(new DiscardHandControllerEffect(), 1); Ability ability = new LoyaltyAbility(new DiscardHandControllerEffect(), 1);

View file

@ -2,7 +2,6 @@
package mage.cards.c; package mage.cards.c;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.GetXLoyaltyValue; import mage.abilities.dynamicvalue.common.GetXLoyaltyValue;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.common.DamageAllControlledTargetEffect; import mage.abilities.effects.common.DamageAllControlledTargetEffect;
@ -28,7 +27,7 @@ public final class ChandraNalaar extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(6)); this.setStartingLoyalty(6);
// +1: Chandra Nalaar deals 1 damage to target player or planeswalker. // +1: Chandra Nalaar deals 1 damage to target player or planeswalker.
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1); LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.mana.BasicManaEffect; import mage.abilities.effects.mana.BasicManaEffect;
@ -31,7 +30,7 @@ public final class ChandraNovicePyromancer extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Elementals you control get +2/+0 until end of turn. // +1: Elementals you control get +2/+0 until end of turn.
this.addAbility(new LoyaltyAbility( this.addAbility(new LoyaltyAbility(

View file

@ -3,7 +3,6 @@ package mage.cards.c;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.common.DamageAllControlledTargetEffect; import mage.abilities.effects.common.DamageAllControlledTargetEffect;
@ -31,7 +30,7 @@ public final class ChandraPyrogenius extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: Chandra, Pyrogenius deals 2 damage to each opponent. // +2: Chandra, Pyrogenius deals 2 damage to each opponent.
this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT), 2)); this.addAbility(new LoyaltyAbility(new DamagePlayersEffect(Outcome.Damage, StaticValue.get(2), TargetController.OPPONENT), 2));

View file

@ -7,7 +7,6 @@ import mage.ApprovingObject;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect; import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect;
@ -36,7 +35,7 @@ public final class ChandraPyromaster extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Chandra, Pyromaster deals 1 damage to target player and 1 damage to // +1: Chandra, Pyromaster deals 1 damage to target player and 1 damage to
// up to one target creature that player controls. That creature can't block this turn. // up to one target creature that player controls. That creature can't block this turn.

View file

@ -2,7 +2,6 @@ package mage.cards.c;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -34,7 +33,7 @@ public final class ChandraRoaringFlame extends CardImpl {
this.nightCard = true; this.nightCard = true;
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Chandra, Roaring Flame deals 2 damage to target player. // +1: Chandra, Roaring Flame deals 2 damage to target player.
LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new DamageTargetEffect(2), 1); LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new DamageTargetEffect(2), 1);

View file

@ -4,7 +4,6 @@ package mage.cards.c;
import java.util.UUID; import java.util.UUID;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CopyTargetSpellEffect; import mage.abilities.effects.common.CopyTargetSpellEffect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
@ -32,7 +31,7 @@ public final class ChandraTheFirebrand extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Chandra, the Firebrand deals 1 damage to any target. // +1: Chandra, the Firebrand deals 1 damage to any target.
LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1); LoyaltyAbility ability1 = new LoyaltyAbility(new DamageTargetEffect(1), 1);

View file

@ -6,7 +6,6 @@ import mage.MageObject;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.DamagePlayersEffect;
@ -38,7 +37,7 @@ public final class ChandraTorchOfDefiance extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.CHANDRA); this.subtype.add(SubType.CHANDRA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Exile the top card of your library. You may cast that card. If you don't, Chandra, Torch of Defiance deals 2 damage to each opponent. // +1: Exile the top card of your library. You may cast that card. If you don't, Chandra, Torch of Defiance deals 2 damage to each opponent.
LoyaltyAbility ability = new LoyaltyAbility(new ChandraTorchOfDefianceEffect(), 1); LoyaltyAbility ability = new LoyaltyAbility(new ChandraTorchOfDefianceEffect(), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardTargetEffect; import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -27,7 +26,7 @@ public final class DackFayden extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DACK); this.subtype.add(SubType.DACK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Target player draws two cards, then discards two cards. // +1: Target player draws two cards, then discards two cards.
LoyaltyAbility ability = new LoyaltyAbility(new DrawCardTargetEffect(2), 1); LoyaltyAbility ability = new LoyaltyAbility(new DrawCardTargetEffect(2), 1);

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.LandsYouControlCount; import mage.abilities.dynamicvalue.common.LandsYouControlCount;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ExileTargetEffect; import mage.abilities.effects.common.ExileTargetEffect;
@ -35,7 +34,7 @@ public final class DakkonShadowSlayer extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DAKKON); this.subtype.add(SubType.DAKKON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(0)); this.setStartingLoyalty(0);
// Dakkon, Shadow Slayer enters the battlefield with a number of loyalty counters on him equal to the number of lands you control. // Dakkon, Shadow Slayer enters the battlefield with a number of loyalty counters on him equal to the number of lands you control.
this.addAbility(new EntersBattlefieldAbility( this.addAbility(new EntersBattlefieldAbility(

View file

@ -2,7 +2,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -43,7 +42,7 @@ public final class DarettiIngeniousIconoclast extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DARETTI); this.subtype.add(SubType.DARETTI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Create a 1/1 colorless Construct artifact creature token with defender. // +1: Create a 1/1 colorless Construct artifact creature token with defender.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new DarettiConstructToken()), 1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new DarettiConstructToken()), 1));

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.CanBeYourCommanderAbility; import mage.abilities.common.CanBeYourCommanderAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.discard.DiscardAndDrawThatManyEffect; import mage.abilities.effects.common.discard.DiscardAndDrawThatManyEffect;
@ -33,7 +32,7 @@ public final class DarettiScrapSavant extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DARETTI); this.subtype.add(SubType.DARETTI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: Discard up to two cards, then draw that many cards. // +2: Discard up to two cards, then draw that many cards.
this.addAbility(new LoyaltyAbility(new DiscardAndDrawThatManyEffect(2), 2)); this.addAbility(new LoyaltyAbility(new DiscardAndDrawThatManyEffect(2), 2));

View file

@ -4,7 +4,6 @@ package mage.cards.d;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.effects.common.SacrificeEffect;
@ -39,7 +38,7 @@ public final class DarthSidiousSithLord extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.SIDIOUS); this.subtype.add(SubType.SIDIOUS);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +3: Destroy target noncreature permanent. // +3: Destroy target noncreature permanent.
Ability ability = new LoyaltyAbility(new DestroyTargetEffect(), +3); Ability ability = new LoyaltyAbility(new DestroyTargetEffect(), +3);

View file

@ -4,7 +4,6 @@ package mage.cards.d;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.SearchEffect; import mage.abilities.effects.SearchEffect;
@ -39,7 +38,7 @@ public final class DarthTyranusCountOfSerenno extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOOKU); this.subtype.add(SubType.DOOKU);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Up to one target creature gets -6/-0 until your next turn. // +1: Up to one target creature gets -6/-0 until your next turn.
Effect effect = new BoostTargetEffect(-6, 0, Duration.UntilYourNextTurn); Effect effect = new BoostTargetEffect(-6, 0, Duration.UntilYourNextTurn);

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.condition.Condition; import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
@ -27,7 +26,7 @@ public final class DavrielRogueShadowmage extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DAVRIEL); this.subtype.add(SubType.DAVRIEL);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, Davriel, Rogue Shadowmage deals 2 damage to them. // At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, Davriel, Rogue Shadowmage deals 2 damage to them.
this.addAbility(new ConditionalInterveningIfTriggeredAbility( this.addAbility(new ConditionalInterveningIfTriggeredAbility(

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CantBeCounteredControlledEffect; import mage.abilities.effects.common.CantBeCounteredControlledEffect;
@ -30,7 +29,7 @@ public final class DomriAnarchOfBolas extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOMRI); this.subtype.add(SubType.DOMRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// Creatures you control get +1/+0. // Creatures you control get +1/+0.
this.addAbility(new SimpleStaticAbility( this.addAbility(new SimpleStaticAbility(

View file

@ -5,7 +5,6 @@ import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -38,7 +37,7 @@ public final class DomriChaosBringer extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOMRI); this.subtype.add(SubType.DOMRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot. // +1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot.
this.addAbility(new LoyaltyAbility(new DomriChaosBringerEffect(), 1)); this.addAbility(new LoyaltyAbility(new DomriChaosBringerEffect(), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@ -31,7 +30,7 @@ public final class DomriCitySmasher extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOMRI); this.subtype.add(SubType.DOMRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +2: Creatures you control get +1/+1 and gain haste until end of turn. // +2: Creatures you control get +1/+1 and gain haste until end of turn.
Ability ability = new LoyaltyAbility(new BoostControlledEffect( Ability ability = new LoyaltyAbility(new BoostControlledEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.FightTargetsEffect; import mage.abilities.effects.common.FightTargetsEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -31,7 +30,7 @@ public final class DomriRade extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOMRI); this.subtype.add(SubType.DOMRI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Look at the top card of your library. If it's a creature card, you may reveal it and put it into your hand. // +1: Look at the top card of your library. If it's a creature card, you may reveal it and put it into your hand.
this.addAbility(new LoyaltyAbility(new DomriRadeEffect1(), 1)); this.addAbility(new LoyaltyAbility(new DomriRadeEffect1(), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.*; import mage.abilities.effects.common.*;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
@ -25,7 +24,7 @@ public final class DovinArchitectOfLaw extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOVIN); this.subtype.add(SubType.DOVIN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: You gain 2 life and draw a card. // +1: You gain 2 life and draw a card.
Ability ability = new LoyaltyAbility(new GainLifeEffect(2), 1); Ability ability = new LoyaltyAbility(new GainLifeEffect(2), 1);

View file

@ -4,7 +4,6 @@ package mage.cards.d;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@ -21,7 +20,6 @@ import mage.constants.SuperType;
import mage.game.Game; import mage.game.Game;
import mage.game.command.emblems.DovinBaanEmblem; import mage.game.command.emblems.DovinBaanEmblem;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
/** /**
@ -35,7 +33,7 @@ public final class DovinBaan extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOVIN); this.subtype.add(SubType.DOVIN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Until your next turn, up to one target creature gets -3/-0 and its activated abilities can't be activated. // +1: Until your next turn, up to one target creature gets -3/-0 and its activated abilities can't be activated.
Effect effect = new BoostTargetEffect(-3, 0, Duration.UntilYourNextTurn); Effect effect = new BoostTargetEffect(-3, 0, Duration.UntilYourNextTurn);

View file

@ -3,7 +3,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -33,7 +32,7 @@ public final class DovinGrandArbiter extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOVIN); this.subtype.add(SubType.DOVIN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Until end of turn, whenever a creature you control deals combat damage to a player, put a loyalty counter on Dovin, Grand Arbiter. // +1: Until end of turn, whenever a creature you control deals combat damage to a player, put a loyalty counter on Dovin, Grand Arbiter.
this.addAbility(new LoyaltyAbility(new CreateDelayedTriggeredAbilityEffect( this.addAbility(new LoyaltyAbility(new CreateDelayedTriggeredAbilityEffect(

View file

@ -2,7 +2,6 @@ package mage.cards.d;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.PreventDamageByTargetEffect; import mage.abilities.effects.common.PreventDamageByTargetEffect;
import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.abilities.effects.common.PreventDamageToTargetEffect;
@ -36,7 +35,7 @@ public final class DovinHandOfControl extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DOVIN); this.subtype.add(SubType.DOVIN);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// Artifact, instant, and sorcery spells your opponents cast cost {1} more to cast. // Artifact, instant, and sorcery spells your opponents cast cost {1} more to cast.
this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(1, filter, TargetController.OPPONENT))); this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(1, filter, TargetController.OPPONENT)));

View file

@ -2,7 +2,6 @@ package mage.cards.e;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.keyword.VentureIntoTheDungeonEffect; import mage.abilities.effects.keyword.VentureIntoTheDungeonEffect;
@ -27,7 +26,7 @@ public final class EllywickTumblestrum extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELLYWICK); this.subtype.add(SubType.ELLYWICK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Venture into the dungeon. // +1: Venture into the dungeon.
this.addAbility(new LoyaltyAbility(new VentureIntoTheDungeonEffect(), 1)); this.addAbility(new LoyaltyAbility(new VentureIntoTheDungeonEffect(), 1));

View file

@ -3,7 +3,6 @@ package mage.cards.e;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -33,7 +32,7 @@ public final class ElspethKnightErrant extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELSPETH); this.subtype.add(SubType.ELSPETH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Create a 1/1 white Soldier creature token. // +1: Create a 1/1 white Soldier creature token.
Token token = new SoldierToken(); Token token = new SoldierToken();

View file

@ -3,7 +3,6 @@ package mage.cards.e;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -35,7 +34,7 @@ public final class ElspethSunsChampion extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELSPETH); this.subtype.add(SubType.ELSPETH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Create three 1/1 white Soldier creature tokens. // +1: Create three 1/1 white Soldier creature tokens.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken(), 3), 1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken(), 3), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.e;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
@ -27,7 +26,7 @@ public final class ElspethSunsNemesis extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELSPETH); this.subtype.add(SubType.ELSPETH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// 1: Up to two target creatures you control each get +2/+1 until end of turn. // 1: Up to two target creatures you control each get +2/+1 until end of turn.
Ability ability = new LoyaltyAbility(new BoostTargetEffect(2, 1) Ability ability = new LoyaltyAbility(new BoostTargetEffect(2, 1)

View file

@ -4,7 +4,6 @@ package mage.cards.e;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -31,7 +30,7 @@ public final class ElspethTirel extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELSPETH); this.subtype.add(SubType.ELSPETH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
this.addAbility(new LoyaltyAbility(new ElspethTirelFirstEffect(), 2)); this.addAbility(new LoyaltyAbility(new ElspethTirelFirstEffect(), 2));
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken(), 3), -2)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken(), 3), -2));

View file

@ -2,7 +2,6 @@ package mage.cards.e;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@ -39,7 +38,7 @@ public final class ElspethUndauntedHero extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ELSPETH); this.subtype.add(SubType.ELSPETH);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: Put a +1/+1 counter on each of up to two target creatures. // +2: Put a +1/+1 counter on each of up to two target creatures.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 2); Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 2);

View file

@ -4,7 +4,6 @@ import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.CanBeYourCommanderAbility; import mage.abilities.common.CanBeYourCommanderAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.MillCardsControllerEffect; import mage.abilities.effects.common.MillCardsControllerEffect;
@ -46,7 +45,7 @@ public final class EstridTheMasked extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.ESTRID); this.subtype.add(SubType.ESTRID);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: Untap each enchanted permanent you control. // +2: Untap each enchanted permanent you control.
this.addAbility(new LoyaltyAbility(new UntapAllControllerEffect( this.addAbility(new LoyaltyAbility(new UntapAllControllerEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.f;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.CanBeYourCommanderAbility; import mage.abilities.common.CanBeYourCommanderAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DestroyTargetEffect;
@ -38,7 +37,7 @@ public final class FreyaliseLlanowarsFury extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.FREYALISE); this.subtype.add(SubType.FREYALISE);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: Create a 1/1 green Elf Druid creature token with "{T}: Add {G}." // +2: Create a 1/1 green Elf Druid creature token with "{T}: Add {G}."
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new ElfDruidToken()), 2)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new ElfDruidToken()), 2));

View file

@ -2,7 +2,6 @@ package mage.cards.g;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -44,7 +43,7 @@ public final class GarrukApexPredator extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Destroy another target planeswalker. // +1: Destroy another target planeswalker.
LoyaltyAbility ability = new LoyaltyAbility(new DestroyTargetEffect(), 1); LoyaltyAbility ability = new LoyaltyAbility(new DestroyTargetEffect(), 1);

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect;
import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect; import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect;
@ -35,7 +34,7 @@ public final class GarrukCallerOfBeasts extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Reveal the top 5 cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. // +1: Reveal the top 5 cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order.
this.addAbility(new LoyaltyAbility(new RevealLibraryPutIntoHandEffect(5, new FilterCreatureCard("creature cards"), Zone.LIBRARY), 1)); this.addAbility(new LoyaltyAbility(new RevealLibraryPutIntoHandEffect(5, new FilterCreatureCard("creature cards"), Zone.LIBRARY), 1));

View file

@ -2,7 +2,6 @@ package mage.cards.g;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@ -28,7 +27,7 @@ public final class GarrukCursedHuntsman extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// 0: Create two 2/2 black and green Wolf creature tokens with "When this creature dies, put a loyalty counter on each Garruk you control." // 0: Create two 2/2 black and green Wolf creature tokens with "When this creature dies, put a loyalty counter on each Garruk you control."
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new GarrukCursedHuntsmanToken(), 2), 0)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new GarrukCursedHuntsmanToken(), 2), 0));

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -36,7 +35,7 @@ public final class GarrukPrimalHunter extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Create a 3/3 green Beast creature token. // +1: Create a 3/3 green Beast creature token.
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new BeastToken()), 1)); this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new BeastToken()), 1));

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.StateTriggeredAbility; import mage.abilities.StateTriggeredAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.effects.common.TransformSourceEffect;
@ -33,7 +32,7 @@ public final class GarrukRelentless extends CardImpl {
this.secondSideCardClazz = GarrukTheVeilCursed.class; this.secondSideCardClazz = GarrukTheVeilCursed.class;
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// When Garruk Relentless has two or fewer loyalty counters on him, transform him. // When Garruk Relentless has two or fewer loyalty counters on him, transform him.
this.addAbility(new TransformAbility()); this.addAbility(new TransformAbility());

View file

@ -3,7 +3,6 @@ package mage.cards.g;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.abilities.common.DamageAsThoughNotBlockedAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
@ -39,7 +38,7 @@ public final class GarrukSavageHerald extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +1: Reveal the top card of your library. If it's a creature card, put it into your hand. Otherwise, put it on the bottom of your library. // +1: Reveal the top card of your library. If it's a creature card, put it into your hand. Otherwise, put it on the bottom of your library.
this.addAbility(new LoyaltyAbility(new GarrukSavageHeraldEffect(), 1)); this.addAbility(new LoyaltyAbility(new GarrukSavageHeraldEffect(), 1));

View file

@ -1,7 +1,6 @@
package mage.cards.g; package mage.cards.g;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.condition.common.OpponentControlsMoreCondition; import mage.abilities.condition.common.OpponentControlsMoreCondition;
import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
@ -36,7 +35,7 @@ public final class GarrukUnleashed extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Up to one target creature gets +3/+3 and gains trample until end of turn. // +1: Up to one target creature gets +3/+3 and gains trample until end of turn.
Effect effect = new BoostTargetEffect(3, 3, Duration.EndOfTurn) Effect effect = new BoostTargetEffect(3, 3, Duration.EndOfTurn)

View file

@ -3,7 +3,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.Effects; import mage.abilities.effects.Effects;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
@ -34,7 +33,7 @@ public final class GarrukWildspeaker extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GARRUK); this.subtype.add(SubType.GARRUK);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Untap two target lands. // +1: Untap two target lands.
LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1); LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);

View file

@ -4,7 +4,6 @@ import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.effects.common.UntapTargetEffect; import mage.abilities.effects.common.UntapTargetEffect;
@ -47,7 +46,7 @@ public final class GeyadroneDihada extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.DIHADA); this.subtype.add(SubType.DIHADA);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// Protection from permanents with corruption counters on them // Protection from permanents with corruption counters on them
this.addAbility(new ProtectionAbility(filter)); this.addAbility(new ProtectionAbility(filter));

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
@ -32,7 +31,7 @@ public final class GideonAllyOfZendikar extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Until end of turn, Gideon, Ally of Zendikar becomes a 5/5 Human Soldier Ally creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn. // +1: Until end of turn, Gideon, Ally of Zendikar becomes a 5/5 Human Soldier Ally creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LoyaltyAbility ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonAllyOfZendikarToken(), "planeswalker", Duration.EndOfTurn), 1); LoyaltyAbility ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonAllyOfZendikarToken(), "planeswalker", Duration.EndOfTurn), 1);

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.MageObjectReference; import mage.MageObjectReference;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.RequirementEffect; import mage.abilities.effects.RequirementEffect;
import mage.abilities.effects.common.PreventAllDamageToSourceEffect; import mage.abilities.effects.common.PreventAllDamageToSourceEffect;
@ -43,7 +42,7 @@ public final class GideonBattleForged extends CardImpl {
this.nightCard = true; this.nightCard = true;
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: Up to one target creature an opponent controls attacks Gideon, Battle-Forged during its controller's next turn if able. // +2: Up to one target creature an opponent controls attacks Gideon, Battle-Forged during its controller's next turn if able.
LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new GideonBattleForgedAttacksIfAbleTargetEffect(Duration.Custom), 2); LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new GideonBattleForgedAttacksIfAbleTargetEffect(Duration.Custom), 2);

View file

@ -3,7 +3,6 @@ package mage.cards.g;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.decorator.ConditionalContinuousEffect;
@ -52,7 +51,7 @@ public final class GideonBlackblade extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// As long as it's your turn, Gideon Blackblade is a 4/4 Human Soldier creature with indestructible that's still a planeswalker. // As long as it's your turn, Gideon Blackblade is a 4/4 Human Soldier creature with indestructible that's still a planeswalker.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.MageObjectReference; import mage.MageObjectReference;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.LockedInDynamicValue; import mage.abilities.dynamicvalue.LockedInDynamicValue;
import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.dynamicvalue.common.PermanentsTargetOpponentControlsCount; import mage.abilities.dynamicvalue.common.PermanentsTargetOpponentControlsCount;
@ -39,7 +38,7 @@ public final class GideonChampionOfJustice extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Put a loyalty counter on Gideon, Champion of Justice for each creature target opponent controls. // +1: Put a loyalty counter on Gideon, Champion of Justice for each creature target opponent controls.
LoyaltyAbility ability1 = new LoyaltyAbility( LoyaltyAbility ability1 = new LoyaltyAbility(

View file

@ -4,7 +4,6 @@ import mage.MageInt;
import mage.MageObjectReference; import mage.MageObjectReference;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.RequirementEffect; import mage.abilities.effects.RequirementEffect;
import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DestroyTargetEffect;
@ -39,7 +38,7 @@ public final class GideonJura extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(6)); this.setStartingLoyalty(6);
// +2: During target opponent's next turn, creatures that player controls attack Gideon Jura if able. // +2: During target opponent's next turn, creatures that player controls attack Gideon Jura if able.
LoyaltyAbility ability1 = new LoyaltyAbility(new GideonJuraEffect(), 2); LoyaltyAbility ability1 = new LoyaltyAbility(new GideonJuraEffect(), 2);

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.PreventAllDamageToSourceEffect; import mage.abilities.effects.common.PreventAllDamageToSourceEffect;
import mage.abilities.effects.common.TapAllEffect; import mage.abilities.effects.common.TapAllEffect;
@ -34,7 +33,7 @@ public final class GideonMartialParagon extends CardImpl {
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); this.setStartingLoyalty(5);
// +2: Untap all creatures you control. Those creatures get +1/+1 until end of turn. // +2: Untap all creatures you control. Those creatures get +1/+1 until end of turn.
LoyaltyAbility ability = new LoyaltyAbility(new UntapAllEffect(new FilterControlledCreaturePermanent()), 2); LoyaltyAbility ability = new LoyaltyAbility(new UntapAllEffect(new FilterControlledCreaturePermanent()), 2);

View file

@ -4,7 +4,6 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.PreventAllDamageToSourceEffect; import mage.abilities.effects.common.PreventAllDamageToSourceEffect;
@ -33,7 +32,7 @@ public final class GideonOfTheTrials extends CardImpl {
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
//Starting Loyalty: 3 //Starting Loyalty: 3
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Until your next turn, prevent all damage target permanent would deal. // +1: Until your next turn, prevent all damage target permanent would deal.
Effect effect = new PreventDamageByTargetEffect(Duration.UntilYourNextTurn); Effect effect = new PreventDamageByTargetEffect(Duration.UntilYourNextTurn);

View file

@ -5,7 +5,6 @@ import mage.MageObjectReference;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ExileAllEffect; import mage.abilities.effects.common.ExileAllEffect;
import mage.abilities.effects.common.ExileSourceEffect; import mage.abilities.effects.common.ExileSourceEffect;
@ -35,7 +34,7 @@ public final class GideonTheOathsworn extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GIDEON); this.subtype.add(SubType.GIDEON);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// Whenever you attack with two or more non-Gideon creatures, put a +1/+1 counter on each of those creatures. // Whenever you attack with two or more non-Gideon creatures, put a +1/+1 counter on each of those creatures.
this.addAbility(new GideonTheOathswornTriggeredAbility()); this.addAbility(new GideonTheOathswornTriggeredAbility());

View file

@ -2,7 +2,6 @@ package mage.cards.g;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.common.combat.CantAttackTargetEffect; import mage.abilities.effects.common.combat.CantAttackTargetEffect;
@ -47,7 +46,7 @@ public final class GrandMasterOfFlowers extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.BAHAMUT); this.subtype.add(SubType.BAHAMUT);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// As long as Grand Master of Flowers has seven or more loyalty counters on him, he's a 7/7 Dragon God creature with flying and indestructible. // As long as Grand Master of Flowers has seven or more loyalty counters on him, he's a 7/7 Dragon God creature with flying and indestructible.
this.addAbility(new SimpleStaticAbility(new GrandMasterOfFlowersEffect())); this.addAbility(new SimpleStaticAbility(new GrandMasterOfFlowersEffect()));

View file

@ -3,7 +3,6 @@ package mage.cards.g;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.SacrificeTargetCost;
@ -44,7 +43,7 @@ public final class GristTheHungerTide extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.GRIST); this.subtype.add(SubType.GRIST);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// As long as Grist, the Hunger Tide isn't on the battlefield, it's a 1/1 Insect creature in addition to its other types. // As long as Grist, the Hunger Tide isn't on the battlefield, it's a 1/1 Insect creature in addition to its other types.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new GristTheHungerTideTypeEffect())); this.addAbility(new SimpleStaticAbility(Zone.ALL, new GristTheHungerTideTypeEffect()));

View file

@ -2,7 +2,6 @@ package mage.cards.h;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.DamageWithPowerFromOneToAnotherTargetEffect; import mage.abilities.effects.common.DamageWithPowerFromOneToAnotherTargetEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect;
@ -36,7 +35,7 @@ public final class HuatliDinosaurKnight extends CardImpl {
addSuperType(SuperType.LEGENDARY); addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUATLI); this.subtype.add(SubType.HUATLI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +2: Put two +1/+1 counters on up to one target Dinosaur you control. // +2: Put two +1/+1 counters on up to one target Dinosaur you control.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)) Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2))

View file

@ -1,7 +1,6 @@
package mage.cards.h; package mage.cards.h;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.GetEmblemEffect; import mage.abilities.effects.common.GetEmblemEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
@ -30,7 +29,7 @@ public final class HuatliRadiantChampion extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUATLI); this.subtype.add(SubType.HUATLI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +1: Put a loyalty counter on Huatli, Radiant Champion for each creature you control. // +1: Put a loyalty counter on Huatli, Radiant Champion for each creature you control.
this.addAbility(new LoyaltyAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(0), this.addAbility(new LoyaltyAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(0),

View file

@ -1,7 +1,6 @@
package mage.cards.h; package mage.cards.h;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.common.GreatestToughnessAmongControlledCreaturesValue; import mage.abilities.dynamicvalue.common.GreatestToughnessAmongControlledCreaturesValue;
import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.GainLifeEffect;
@ -25,7 +24,7 @@ public final class HuatliTheSunsHeart extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUATLI); this.subtype.add(SubType.HUATLI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(7)); this.setStartingLoyalty(7);
// Each creature you control assigns combat damage equal to its toughness rather than its power. // Each creature you control assigns combat damage equal to its toughness rather than its power.
this.addAbility(new SimpleStaticAbility(new CombatDamageByToughnessEffect( this.addAbility(new SimpleStaticAbility(new CombatDamageByToughnessEffect(

View file

@ -3,7 +3,6 @@ package mage.cards.h;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.Mode; import mage.abilities.Mode;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.dynamicvalue.common.GetXLoyaltyValue; import mage.abilities.dynamicvalue.common.GetXLoyaltyValue;
import mage.abilities.dynamicvalue.common.GreatestPowerAmongControlledCreaturesValue; import mage.abilities.dynamicvalue.common.GreatestPowerAmongControlledCreaturesValue;
import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffect;
@ -34,7 +33,7 @@ public final class HuatliWarriorPoet extends CardImpl {
addSuperType(SuperType.LEGENDARY); addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUATLI); this.subtype.add(SubType.HUATLI);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); this.setStartingLoyalty(3);
// +2: You gain life equal to the greatest power among creatures you control. // +2: You gain life equal to the greatest power among creatures you control.
this.addAbility(new LoyaltyAbility(new GainLifeEffect( this.addAbility(new LoyaltyAbility(new GainLifeEffect(

View file

@ -1,36 +1,33 @@
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.PhyrexianManaCost; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.SubType;
import java.util.UUID;
/** /**
*
* @author North * @author North
*/ */
public final class ImmolatingSouleater extends CardImpl { public final class ImmolatingSouleater extends CardImpl {
public ImmolatingSouleater(UUID ownerId, CardSetInfo setInfo) { public ImmolatingSouleater(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}");
this.subtype.add(SubType.PHYREXIAN); this.subtype.add(SubType.PHYREXIAN);
this.subtype.add(SubType.DOG); this.subtype.add(SubType.DOG);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(
new BoostSourceEffect(1, 0, Duration.EndOfTurn), 1, 0, Duration.EndOfTurn
new PhyrexianManaCost(ColoredManaSymbol.R))); ), new ManaCostsImpl<>("{R/P}")));
} }
private ImmolatingSouleater(final ImmolatingSouleater card) { private ImmolatingSouleater(final ImmolatingSouleater card) {

View file

@ -1,37 +1,34 @@
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.PhyrexianManaCost; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.TrampleAbility; import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.SubType;
import java.util.UUID;
/** /**
*
* @author North * @author North
*/ */
public final class InsatiableSouleater extends CardImpl { public final class InsatiableSouleater extends CardImpl {
public InsatiableSouleater(UUID ownerId, CardSetInfo setInfo) { public InsatiableSouleater(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}");
this.subtype.add(SubType.PHYREXIAN); this.subtype.add(SubType.PHYREXIAN);
this.subtype.add(SubType.BEAST); this.subtype.add(SubType.BEAST);
this.power = new MageInt(5); this.power = new MageInt(5);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), TrampleAbility.getInstance(), Duration.EndOfTurn
new PhyrexianManaCost(ColoredManaSymbol.G))); ), new ManaCostsImpl<>("{G/P}")));
} }
private InsatiableSouleater(final InsatiableSouleater card) { private InsatiableSouleater(final InsatiableSouleater card) {

View file

@ -3,7 +3,6 @@ package mage.cards.j;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.DrawSecondCardTriggeredAbility; import mage.abilities.common.DrawSecondCardTriggeredAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.combat.CantBeBlockedAllEffect; import mage.abilities.effects.common.combat.CantBeBlockedAllEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect;
@ -29,7 +28,7 @@ public final class JaceArcaneStrategist extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.JACE); this.subtype.add(SubType.JACE);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// Whenever you draw your second card each turn, put a +1/+1 counter on target creature you control. // Whenever you draw your second card each turn, put a +1/+1 counter on target creature you control.
Ability ability = new DrawSecondCardTriggeredAbility( Ability ability = new DrawSecondCardTriggeredAbility(

View file

@ -3,7 +3,6 @@ package mage.cards.j;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.LoyaltyAbility; import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.*; import mage.cards.*;
@ -16,7 +15,6 @@ import mage.filter.predicate.other.PlayerIdPredicate;
import mage.game.ExileZone; import mage.game.ExileZone;
import mage.game.Game; import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.TargetCard; import mage.target.TargetCard;
@ -40,7 +38,7 @@ public final class JaceArchitectOfThought extends CardImpl {
this.addSuperType(SuperType.LEGENDARY); this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.JACE); this.subtype.add(SubType.JACE);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); this.setStartingLoyalty(4);
// +1: Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn. // +1: Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.
this.addAbility(new LoyaltyAbility(new JaceArchitectOfThoughtStartEffect1(), 1)); this.addAbility(new LoyaltyAbility(new JaceArchitectOfThoughtStartEffect1(), 1));

Some files were not shown because too many files have changed in this diff Show more