mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
Refactor to clean up base P/T setting and fix text generation (#10264)
* Adjust constructors to simplify * Refactor to remove duration parameter for CDA (always end of game) * Fix warnings * Druid Class not CDA * Entropic Specter fixup * Further constructor simplification * Analogous simplification for setting power only * Analogous simplification for setting toughness only * Remove superfluous parameter * Set fields final
This commit is contained in:
parent
96cf6dc019
commit
1780972f71
226 changed files with 269 additions and 464 deletions
|
|
@ -45,7 +45,7 @@ public final class AbominableTreefolk extends CardImpl {
|
|||
|
||||
// Abominable Treefolk's power and toughness are each equal to the number of snow permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)
|
||||
));
|
||||
|
||||
// When Abominable Treefolk enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controller's next untap step.
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public final class AbominationOfLlanowar extends CardImpl {
|
|||
|
||||
// Abomination of Llanowar's power and toughness are each equal to the number of Elves you control plus the number of Elf cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class AdamaroFirstToDesire extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Adamaro, First to Desire's power and toughness are each equal to the number of cards in the hand of the opponent with the most cards in hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new MostCardsInOpponentsHandCount(), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new MostCardsInOpponentsHandCount())));
|
||||
}
|
||||
|
||||
private AdamaroFirstToDesire(final AdamaroFirstToDesire card) {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class AdelineResplendentCathar extends CardImpl {
|
|||
|
||||
// Adeline, Resplendent Cathar's power is equal to the number of creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(
|
||||
CreaturesYouControlCount.instance, Duration.EndOfGame)).addHint(CreaturesYouControlHint.instance)
|
||||
CreaturesYouControlCount.instance)).addHint(CreaturesYouControlHint.instance)
|
||||
);
|
||||
|
||||
// Whenever you attack, for each opponent, create a 1/1 white Human creature token that's tapped and attacking that player or a planeswalker they control.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import mage.abilities.keyword.SuspendAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
|
|
@ -35,7 +34,7 @@ public final class AeonChronicler extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Aeon Chronicler's power and toughness are each equal to the number of cards in your hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CardsInControllerHandCount.instance, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CardsInControllerHandCount.instance)));
|
||||
|
||||
// Suspend X-{X}{3}{U}. X can't be 0.
|
||||
this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl<>("{3}{U}"), this, true));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class AetherwingGoldenScaleFlagship extends CardImpl {
|
|||
// Aetherwing, Golden-Scale Flagship's power is equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(ArtifactYouControlCount.instance, Duration.Custom)
|
||||
new SetBasePowerSourceEffect(ArtifactYouControlCount.instance)
|
||||
.setText("{this}'s power is equal to the number of artifacts you control")
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
|
|
@ -47,7 +46,7 @@ public final class AllosaurusRider extends CardImpl {
|
|||
|
||||
// Allosaurus Rider's power and toughness are each equal to 1 plus the number of lands you control.
|
||||
DynamicValue onePlusControlledLands = new IntPlusDynamicValue(1, new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("lands you control")));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(onePlusControlledLands, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(onePlusControlledLands)));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
|
|
@ -48,7 +47,7 @@ public final class AltarGolem extends CardImpl {
|
|||
|
||||
// Altar Golem's power and toughness are each equal to the number of creatures on the battlefield.
|
||||
DynamicValue amount = new PermanentsOnBattlefieldCount(new FilterCreaturePermanent("creatures on the battlefield"));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(amount, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(amount)));
|
||||
|
||||
// Altar Golem doesn't untap during your untap step.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||
|
|
|
|||
|
|
@ -84,8 +84,7 @@ class AmplifireEffect extends OneShotEffect {
|
|||
2*lastCard.getPower().getValue(),
|
||||
2*lastCard.getToughness().getValue(),
|
||||
Duration.UntilYourNextTurn,
|
||||
SubLayer.SetPT_7b,
|
||||
true
|
||||
SubLayer.SetPT_7b
|
||||
);
|
||||
game.addEffect(setBasePowerToughnessSourceEffect, source);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class AnaxHardenedInTheForge extends CardImpl {
|
|||
// Anax's power is equal to your devotion to red.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(DevotionCount.R, Duration.EndOfGame)
|
||||
new SetBasePowerSourceEffect(DevotionCount.R)
|
||||
.setText("{this}'s power is equal to your devotion to red")
|
||||
).addHint(DevotionCount.R.getHint()));
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
|
|
@ -32,7 +31,7 @@ public final class AncientOoze extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Ancient Ooze's power and toughness are each equal to the total converted mana cost of other creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new AncientOozePowerToughnessValue(), Duration.EndOfGame)
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new AncientOozePowerToughnessValue())
|
||||
.setText("{this}'s power and toughness are each equal to the total mana value of other creatures you control.")
|
||||
));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.abilities.keyword.HexproofAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ public final class AngelicEnforcer extends CardImpl {
|
|||
|
||||
// Angelic Enforcer's power and toughness are each equal to your life total.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(
|
||||
ControllerLifeCount.instance, Duration.EndOfGame
|
||||
ControllerLifeCount.instance
|
||||
).setText("{this}'s power and toughness are each equal to your life total")));
|
||||
|
||||
// Whenever Angelic Enforcer attacks, double your life total.
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public final class ApocalypseDemon extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Apocalypse Demon's power and toughness are each equal to the number of cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new CardsInControllerGraveyardCount(), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new CardsInControllerGraveyardCount())));
|
||||
|
||||
// At the beginning of your upkeep, tap Apocalypse Demon unless you sacrifice another creature.
|
||||
TapSourceUnlessPaysEffect tapEffect = new TapSourceUnlessPaysEffect(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)));
|
||||
|
|
|
|||
|
|
@ -87,9 +87,7 @@ class AquamorphEntityReplacementEffect extends ReplacementEffectImpl {
|
|||
}
|
||||
}
|
||||
if (event.getType() == GameEvent.EventType.TURNFACEUP) {
|
||||
if (event.getTargetId().equals(source.getSourceId())) {
|
||||
return true;
|
||||
}
|
||||
return event.getTargetId().equals(source.getSourceId());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -126,7 +124,7 @@ class AquamorphEntityReplacementEffect extends ReplacementEffectImpl {
|
|||
toughness = 5;
|
||||
break;
|
||||
}
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(power, toughness, Duration.WhileOnBattlefield, true), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(power, toughness, Duration.WhileOnBattlefield, SubLayer.CharacteristicDefining_7a), source);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class ArchpriestOfIona extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(
|
||||
PartyCount.instance, Duration.EndOfGame
|
||||
PartyCount.instance
|
||||
).setText("{this}'s power is equal to the number of creatures in your party. " + PartyCount.getReminder())
|
||||
).addHint(PartyCountHint.instance));
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class ArniBrokenbrowEffect extends OneShotEffect {
|
|||
if (controller.chooseUse(outcome, "Change base power of " + mageObject.getLogName() + " to "
|
||||
+ power + " until end of turn?", source, game
|
||||
)) {
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(StaticValue.get(power), null, Duration.EndOfTurn, SubLayer.SetPT_7b, true), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(StaticValue.get(power), null, Duration.EndOfTurn, SubLayer.SetPT_7b), source);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@ public final class AscendantSpirit extends CardImpl {
|
|||
2,
|
||||
3,
|
||||
Duration.WhileOnBattlefield,
|
||||
SubLayer.SetPT_7b,
|
||||
true
|
||||
SubLayer.SetPT_7b
|
||||
).setText("with base power and toughness 2/3"));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
@ -94,7 +93,7 @@ class AscendantSpiritWarriorEffect extends OneShotEffect {
|
|||
Duration.Custom, SubType.SPIRIT, SubType.WARRIOR, SubType.ANGEL
|
||||
), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
4, 4, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
4, 4, Duration.Custom, SubLayer.SetPT_7b
|
||||
), source);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class AshayaSoulOfTheWild extends CardImpl {
|
|||
|
||||
// Ashaya, Soul of the Wild’s power and toughness are each equal to the number of lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance)
|
||||
));
|
||||
|
||||
// Nontoken creatures you control are Forest lands in addition to their other types. (They’re still affected by summoning sickness.)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public final class AvenTrailblazer extends CardImpl {
|
|||
|
||||
// Domain - Aven Trailblazer's toughness is equal to the number of basic land types among lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBaseToughnessSourceEffect(DomainValue.REGULAR, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBaseToughnessSourceEffect(DomainValue.REGULAR)
|
||||
.setText("{this}'s toughness is equal to the number of basic land types among lands you control")
|
||||
).addHint(DomainHint.instance).setAbilityWord(AbilityWord.DOMAIN));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
|
|
@ -34,7 +33,7 @@ public final class AwakenedAmalgam extends CardImpl {
|
|||
|
||||
// Awakened Amalgam's power and toughness are each equal to the number of differently named lands you control.
|
||||
DynamicValue value = (new AwakenedAmalgamLandNamesCount());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value)));
|
||||
}
|
||||
|
||||
private AwakenedAmalgam(final AwakenedAmalgam card) {
|
||||
|
|
@ -52,9 +51,6 @@ class AwakenedAmalgamLandNamesCount implements DynamicValue {
|
|||
public AwakenedAmalgamLandNamesCount() {
|
||||
}
|
||||
|
||||
public AwakenedAmalgamLandNamesCount(AwakenedAmalgamLandNamesCount dynamicValue) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
||||
Set<String> landNames = new HashSet<>();
|
||||
|
|
@ -68,7 +64,7 @@ class AwakenedAmalgamLandNamesCount implements DynamicValue {
|
|||
|
||||
@Override
|
||||
public AwakenedAmalgamLandNamesCount copy() {
|
||||
return new AwakenedAmalgamLandNamesCount(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.constants.SubType;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
|
@ -44,7 +43,7 @@ public final class AysenCrusader extends CardImpl {
|
|||
|
||||
// Aysen Crusader's power and toughness are each equal to 2 plus the number of Soldiers and Warriors you control.
|
||||
DynamicValue value = new IntPlusDynamicValue(2, new PermanentsOnBattlefieldCount(filter));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value)));
|
||||
}
|
||||
|
||||
private AysenCrusader(final AysenCrusader card) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
|
@ -30,7 +29,7 @@ public final class BattleSquadron extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Battle Squadron's power and toughness are each equal to the number of creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance, Duration.EndOfGame))
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance))
|
||||
.addHint(CreaturesYouControlHint.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class BattlegateMimic extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Whenever you cast a spell that's both red and white, Battlegate Mimic has base power and toughness 4/2 and gains first strike until end of turn.
|
||||
SetBasePowerToughnessSourceEffect baseToughnessSourceEffect = new SetBasePowerToughnessSourceEffect(4, 2, Duration.EndOfTurn, SubLayer.SetPT_7b, true);
|
||||
SetBasePowerToughnessSourceEffect baseToughnessSourceEffect = new SetBasePowerToughnessSourceEffect(4, 2, Duration.EndOfTurn, SubLayer.SetPT_7b);
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(baseToughnessSourceEffect, filter, false, rule);
|
||||
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, false, true));
|
||||
this.addAbility(ability);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
|
|||
import mage.cards.AdventureCard;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -33,7 +32,7 @@ public final class BeanstalkGiant extends AdventureCard {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Beanstalk Giant's power and toughness are each equal to the number of lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)));
|
||||
|
||||
// Fertile Footsteps
|
||||
// Search your library for a basic land card, put it onto the battlefield, then shuffle your library.
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
|
@ -28,7 +27,7 @@ public final class BeastOfBurden extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Beast of Burden's power and toughness are each equal to the number of creatures on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(new FilterCreaturePermanent("creatures on the battlefield")), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(new FilterCreaturePermanent("creatures on the battlefield")))));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public final class BellBorcaSpectralSergeant extends CardImpl {
|
|||
|
||||
// Bell Borca, Spectral Sergeant's power is equal to the greatest number noted for it this turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(
|
||||
BellBorcaSpectralSergeantValue.instance, Duration.EndOfGame
|
||||
BellBorcaSpectralSergeantValue.instance
|
||||
).setText("{this}'s power is equal to the greatest number noted for it this turn")));
|
||||
|
||||
// At the beginning of your upkeep, exile the top card of your library. You may play that card this turn.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import mage.abilities.keyword.SuspendAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
|
|
@ -42,7 +41,7 @@ public final class BenalishCommander extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Benalish Commander's power and toughness are each equal to the number of Soldiers you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
|
||||
// Suspend X-{X}{W}{W}. X can't be 0.
|
||||
this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl<>("{W}{W}"), this, true));
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public final class BloodswornKnight extends CardImpl {
|
|||
this.nightCard = true;
|
||||
|
||||
// Bloodsworn Knight's power and toughness are each equal to the number of creature cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)));
|
||||
|
||||
// {1}{B}, Discard a card: Bloodsworn Knight gains indestructible until end of turn. Tap it.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class BodyOfKnowledge extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(
|
||||
CardsInControllerHandCount.instance, Duration.EndOfGame
|
||||
CardsInControllerHandCount.instance
|
||||
)
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import mage.abilities.keyword.ScavengeAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
|
|
@ -40,7 +39,7 @@ public final class BoneyardMycodrax extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Boneyard Mycodrax's power and toughness are each equal to the number of other creature cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)));
|
||||
|
||||
// Scavenge {4}{B}
|
||||
this.addAbility(new ScavengeAbility(new ManaCostsImpl<>("{4}{B}")));
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -24,7 +23,7 @@ public final class BoneyardWurm extends CardImpl {
|
|||
|
||||
// Boneyard Wurm's power and toughness are each equal to the number of creature cards in your graveyard.
|
||||
DynamicValue value = new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value)));
|
||||
}
|
||||
|
||||
private BoneyardWurm(final BoneyardWurm card) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class BramblefortFink extends CardImpl {
|
|||
this.addAbility(new ActivateIfConditionActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new SetBasePowerToughnessSourceEffect(
|
||||
10, 10, Duration.EndOfTurn, SubLayer.SetPT_7b, true
|
||||
10, 10, Duration.EndOfTurn, SubLayer.SetPT_7b
|
||||
).setText("{this} has base power and toughness 10/10 until end of turn"),
|
||||
new GenericManaCost(8),
|
||||
condition));
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class BrokersInitiate extends CardImpl {
|
|||
|
||||
// {4}{G/U}: Brokers Initiate has base power and toughness 5/5 until end of turn.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new SetBasePowerToughnessSourceEffect(5, 5, Duration.EndOfTurn, SubLayer.SetPT_7b, true),
|
||||
new SetBasePowerToughnessSourceEffect(5, 5, Duration.EndOfTurn, SubLayer.SetPT_7b),
|
||||
new ManaCostsImpl<>("{4}{G/U}")
|
||||
));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class BronzeGuardian extends CardImpl {
|
|||
|
||||
// Bronze Guardian's power is equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(
|
||||
ArtifactYouControlCount.instance, Duration.EndOfGame
|
||||
ArtifactYouControlCount.instance
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
|
@ -38,7 +37,7 @@ public final class Broodstar extends CardImpl {
|
|||
this.addAbility(new AffinityForArtifactsAbility());
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Broodstar's power and toughness are each equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private Broodstar(final Broodstar card) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class CallapheBelovedOfTheSea extends CardImpl {
|
|||
|
||||
// Callaphe's power is equal to your to devotion to blue.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerSourceEffect(DevotionCount.U, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerSourceEffect(DevotionCount.U)
|
||||
.setText("{this}'s power is equal to your devotion to blue")
|
||||
).addHint(DevotionCount.U.getHint()));
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ enum CallerOfTheHuntAdjuster implements CostAdjuster {
|
|||
FilterCreaturePermanent filter = new FilterCreaturePermanent("chosen creature type");
|
||||
filter.add(typeChoice.getPredicate());
|
||||
ContinuousEffect effectPowerToughness = new SetBasePowerToughnessSourceEffect(
|
||||
new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame);
|
||||
new PermanentsOnBattlefieldCount(filter));
|
||||
effectPowerToughness.setText("");
|
||||
SimpleStaticAbility setPT = new SimpleStaticAbility(Zone.ALL, effectPowerToughness);
|
||||
GainAbilityTargetEffect gainAbility = new GainAbilityTargetEffect(setPT, Duration.EndOfGame);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ public final class Cantivore extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
// Cantivore's power and toughness are each equal to the number of enchantment cards in all graveyards.
|
||||
DynamicValue value = (new CardsInAllGraveyardsCount(filter));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value , Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value)));
|
||||
}
|
||||
|
||||
private Cantivore(final Cantivore card) {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
|
@ -32,7 +31,7 @@ public final class CephalopodSentry extends CardImpl {
|
|||
|
||||
// Cephalopod Sentry's power is equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerSourceEffect(ArtifactYouControlCount.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerSourceEffect(ArtifactYouControlCount.instance)
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ public final class ChameleonSpirit extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(
|
||||
PermanentsOfTheChosenColorOpponentsControlCount.instance,
|
||||
Duration.EndOfGame)));
|
||||
PermanentsOfTheChosenColorOpponentsControlCount.instance
|
||||
)));
|
||||
}
|
||||
|
||||
private ChameleonSpirit(final ChameleonSpirit card) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public final class ChimericMass extends CardImpl {
|
|||
new CreatureToken(0, 0, "Construct artifact creature with \"This creature's power and toughness are each equal to the number of charge counters on it.\"")
|
||||
.withType(CardType.ARTIFACT)
|
||||
.withSubType(SubType.CONSTRUCT)
|
||||
.withAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessSourceEffect(new CountersSourceCount(CounterType.CHARGE), Duration.WhileOnBattlefield))),
|
||||
.withAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessSourceEffect(new CountersSourceCount(CounterType.CHARGE)))),
|
||||
"", Duration.EndOfTurn, false, true), new GenericManaCost(1)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
|
||||
|
|
@ -38,7 +37,7 @@ public final class Cognivore extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Cognivore's power and toughness are each equal to the number of instant cards in all graveyards.
|
||||
DynamicValue value = (new CardsInAllGraveyardsCount(filter));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(value)));
|
||||
}
|
||||
|
||||
private Cognivore(final Cognivore card) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerSourceEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
|
|
@ -34,7 +33,7 @@ public final class CoilingWoodworm extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// Coiling Woodworm's power is equal to the number of Forests on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(count, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(count)));
|
||||
}
|
||||
|
||||
private CoilingWoodworm(final CoilingWoodworm card) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect;
|
||||
import mage.cards.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
|
@ -34,7 +33,7 @@ public final class ConsumingAberration extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
//Consuming Aberration's power and toughness are each equal to the number of cards in your opponents' graveyards.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new CardsInOpponentsGraveyardsCount(), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new CardsInOpponentsGraveyardsCount())));
|
||||
//Whenever you cast a spell, each opponent reveals cards from the top of their library until they reveal a land card, then puts those cards into their graveyard.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new ConsumingAberrationEffect(), false));
|
||||
}
|
||||
|
|
@ -94,10 +93,6 @@ class CardsInOpponentsGraveyardsCount implements DynamicValue {
|
|||
super();
|
||||
}
|
||||
|
||||
public CardsInOpponentsGraveyardsCount(DynamicValue count) {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
||||
int amount = 0;
|
||||
|
|
@ -112,7 +107,7 @@ class CardsInOpponentsGraveyardsCount implements DynamicValue {
|
|||
|
||||
@Override
|
||||
public DynamicValue copy() {
|
||||
return new CardsInOpponentsGraveyardsCount(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,23 +1,17 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.AdditiveDynamicValue;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount;
|
||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect;
|
||||
import mage.abilities.hint.common.CardTypesInGraveyardHint;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.ConsumingBlobOozeToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -40,7 +34,7 @@ public final class ConsumingBlob extends CardImpl {
|
|||
// Consuming Blob's power is equal to the number of card types among cards in your graveyard and its toughness is equal to that number plus 1.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(powerValue, toughnessValue, Duration.EndOfGame, SubLayer.CharacteristicDefining_7a, false)
|
||||
new SetBasePowerToughnessSourceEffect(powerValue, toughnessValue, Duration.EndOfGame, SubLayer.CharacteristicDefining_7a)
|
||||
.setText("{this}'s power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1")
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
|
@ -41,7 +40,7 @@ public final class CracklingDrake extends CardImpl {
|
|||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(
|
||||
InstantSorceryExileGraveyardCount.instance, Duration.EndOfGame
|
||||
InstantSorceryExileGraveyardCount.instance
|
||||
).setText("{this}'s power is equal to the total number "
|
||||
+ "of instant and sorcery cards you own "
|
||||
+ "in exile and in your graveyard.")
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class CraterElemental extends CardImpl {
|
|||
// <i>Formidable</i> — {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater.
|
||||
ability = new ActivateIfConditionActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new SetBasePowerToughnessSourceEffect(StaticValue.get(8), null, Duration.EndOfTurn, SubLayer.SetPT_7b,true)
|
||||
new SetBasePowerToughnessSourceEffect(StaticValue.get(8), null, Duration.EndOfTurn, SubLayer.SetPT_7b)
|
||||
.setText("{this} has base power 8 until end of turn"),
|
||||
new ManaCostsImpl<>("{2}{R}"),
|
||||
FormidableCondition.instance
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -38,7 +37,7 @@ public final class CrowdOfCinders extends CardImpl {
|
|||
|
||||
this.addAbility(FearAbility.getInstance());
|
||||
// Crowd of Cinders's power and toughness are each equal to the number of black permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private CrowdOfCinders(final CrowdOfCinders card) {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import mage.abilities.hint.common.CreaturesYouControlHint;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
|
|
@ -28,7 +27,7 @@ public final class CrusaderOfOdric extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Crusader of Odric's power and toughness are each equal to the number of creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance, Duration.EndOfGame))
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance))
|
||||
.addHint(CreaturesYouControlHint.instance));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public final class CultivatorColossus extends CardImpl {
|
|||
|
||||
// Cultivator Colossus's power and toughness are each equal to the number of lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance)
|
||||
));
|
||||
|
||||
// When Cultivator Colossus enters the battlefield, you may put a land card from your hand onto the battlefield tapped. If you do, draw a card and repeat this process.
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledLandPermanent;
|
||||
|
|
@ -35,7 +34,7 @@ public final class DakkonBlackblade extends CardImpl {
|
|||
|
||||
// Dakkon Blackblade's power and toughness are each equal to the number of lands you control.
|
||||
DynamicValue controlledLands = new PermanentsOnBattlefieldCount(filter);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(controlledLands, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(controlledLands)));
|
||||
}
|
||||
|
||||
private DakkonBlackblade(final DakkonBlackblade card) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerSourceEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
|
@ -34,7 +33,7 @@ public final class DakmorSorceress extends CardImpl {
|
|||
this.toughness = new MageInt(4);
|
||||
|
||||
// Dakmor Sorceress's power is equal to the number of Swamps you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private DakmorSorceress(final DakmorSorceress card) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||
|
||||
|
|
@ -34,7 +33,7 @@ public final class DarksteelJuggernaut extends CardImpl {
|
|||
// Darksteel Juggernaut's power and toughness are each equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent("artifacts you control")), Duration.EndOfGame)
|
||||
new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent("artifacts you control")))
|
||||
));
|
||||
|
||||
// Darksteel Juggernaut attacks each turn if able.
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public final class DauntlessDourbark extends CardImpl {
|
|||
|
||||
// Dauntless Dourbark's power and toughness are each equal to the number of Forests you control plus the number of Treefolk you control.
|
||||
DynamicValue amount = new PermanentsOnBattlefieldCount(filter);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(amount, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(amount)));
|
||||
|
||||
// Dauntless Dourbark has trample as long as you control another Treefolk.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield), new PermanentsOnTheBattlefieldCondition(filter2), rule)));
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
|
@ -41,7 +40,7 @@ public final class DauthiWarlord extends CardImpl {
|
|||
this.addAbility(ShadowAbility.getInstance());
|
||||
|
||||
// Dauthi Warlord's power is equal to the number of creatures with shadow on the battlefield.
|
||||
Effect effect = new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame);
|
||||
Effect effect = new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(filter));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, effect));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ public final class DaxosBlessedByTheSun extends CardImpl {
|
|||
// Daxos's toughness is equal to your devotion to white.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBaseToughnessSourceEffect(DevotionCount.W, Duration.EndOfGame)
|
||||
new SetBaseToughnessSourceEffect(DevotionCount.W)
|
||||
.setText("{this}'s toughness is equal to your devotion to white")
|
||||
).addHint(DevotionCount.W.getHint()));
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
|
|
@ -41,7 +40,7 @@ public final class Detritivore extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Detritivore's power and toughness are each equal to the number of nonbasic land cards in your opponents' graveyards.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new NonBasicLandsInOpponentsGraveyards(), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new NonBasicLandsInOpponentsGraveyards())));
|
||||
|
||||
// Suspend X-{X}{3}{R}. X can't be 0.
|
||||
this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl<>("{3}{R}"), this, true));
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -39,7 +38,7 @@ public final class DodgyJalopy extends CardImpl {
|
|||
|
||||
// Dodgy Jalopy's power is equal to the highest mana value among creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerSourceEffect(DodgyJalopyValue.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerSourceEffect(DodgyJalopyValue.instance)
|
||||
));
|
||||
|
||||
// Crew 3
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
|
|
@ -35,7 +34,7 @@ public final class DoubtlessOne extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Doubtless One's power and toughness are each equal to the number of Clerics on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
|
||||
// Whenever Doubtless One deals damage, you gain that much life.
|
||||
this.addAbility(new DealsDamageGainLifeSourceTriggeredAbility());
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.DefenderAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
|
|
@ -42,7 +41,7 @@ public final class DriftOfTheDead extends CardImpl {
|
|||
this.addAbility(DefenderAbility.getInstance());
|
||||
|
||||
// Drift of the Dead's power and toughness are each equal to the number of snow lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private DriftOfTheDead(final DriftOfTheDead card) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -38,7 +37,7 @@ public final class DroveOfElves extends CardImpl {
|
|||
|
||||
this.addAbility(HexproofAbility.getInstance());
|
||||
// Drove of Elves's power and toughness are each equal to the number of green permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private DroveOfElves(final DroveOfElves card) {
|
||||
|
|
|
|||
|
|
@ -16,10 +16,7 @@ import mage.abilities.keyword.ClassReminderAbility;
|
|||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubLayer;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.*;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.target.TargetPermanent;
|
||||
|
|
@ -81,7 +78,7 @@ class DruidClassToken extends TokenImpl {
|
|||
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
this.addAbility(new SimpleStaticAbility(new SetBasePowerToughnessSourceEffect(
|
||||
LandsYouControlCount.instance, Duration.EndOfGame, SubLayer.SetPT_7b
|
||||
LandsYouControlCount.instance, LandsYouControlCount.instance, Duration.EndOfGame, SubLayer.SetPT_7b
|
||||
).setText("this creature's power and toughness are each equal to the number of lands you control")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.HexproofAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
|
@ -39,7 +38,7 @@ public final class DungroveElder extends CardImpl {
|
|||
this.addAbility(HexproofAbility.getInstance());
|
||||
|
||||
// Dungrove Elder's power and toughness are each equal to the number of Forests you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterLands), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterLands))));
|
||||
}
|
||||
|
||||
public DungroveElder (final DungroveElder card) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
|
|
@ -33,7 +32,7 @@ public final class ElvishHouseParty extends CardImpl {
|
|||
// Elvish House Party's power and toughness are each equal to the current hour,
|
||||
// using the twelve-hour system.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(new CurrentHourCount(), Duration.WhileOnBattlefield)));
|
||||
new SetBasePowerToughnessSourceEffect(new CurrentHourCount())));
|
||||
}
|
||||
|
||||
private ElvishHouseParty(final ElvishHouseParty card) {
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ class ElvishImpersonatorsEffect extends OneShotEffect {
|
|||
List<Integer> results = controller.rollDice(outcome, source, game, 6, 2, 0);
|
||||
int firstRoll = results.get(0);
|
||||
int secondRoll = results.get(1);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(firstRoll, secondRoll, Duration.WhileOnBattlefield, SubLayer.SetPT_7b, true), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(firstRoll, secondRoll, Duration.WhileOnBattlefield, SubLayer.SetPT_7b), source);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterInstantOrSorceryCard;
|
||||
|
||||
|
|
@ -33,7 +32,7 @@ public final class EnigmaDrake extends CardImpl {
|
|||
|
||||
// Enigma Drakes's power is equal to the number of instant and sorcery cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(
|
||||
new CardsInControllerGraveyardCount(new FilterInstantOrSorceryCard("instant and sorcery cards")), Duration.EndOfGame)));
|
||||
new CardsInControllerGraveyardCount(new FilterInstantOrSorceryCard("instant and sorcery cards")))));
|
||||
}
|
||||
|
||||
private EnigmaDrake(final EnigmaDrake card) {
|
||||
|
|
|
|||
|
|
@ -41,8 +41,10 @@ public final class EntropicSpecter extends CardImpl {
|
|||
|
||||
// Entropic Specter's power and toughness are each equal to the number of cards in the chosen player's hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL,
|
||||
// back to the graveyard or if the chosen player left the gane it's again a 0/0
|
||||
new SetBasePowerToughnessSourceEffect(CardsInTargetPlayerHandCount.instance, Duration.WhileOnBattlefield, SubLayer.CharacteristicDefining_7a)));
|
||||
// back to the graveyard or if the chosen player left the game it's again a 0/0
|
||||
new SetBasePowerToughnessSourceEffect(CardsInTargetPlayerHandCount.instance, CardsInTargetPlayerHandCount.instance,
|
||||
Duration.WhileOnBattlefield, SubLayer.SetPT_7b)
|
||||
.setText("{this}'s power and toughness are each equal to the number of cards in the chosen player's hand")));
|
||||
|
||||
// Whenever Entropic Specter deals damage to a player, that player discards a card.
|
||||
this.addAbility(new DealsDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1, false), false, true));
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class EvolvedSleeper extends CardImpl {
|
|||
Duration.Custom, SubType.HUMAN, SubType.CLERIC
|
||||
).setText("{this} becomes a Human Cleric"), new ManaCostsImpl<>("{B}"));
|
||||
ability.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
2, 2, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
2, 2, Duration.Custom, SubLayer.SetPT_7b
|
||||
).setText("with base power and toughness 2/2"));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
@ -87,7 +87,7 @@ class EvolvedSleeperClericEffect extends OneShotEffect {
|
|||
Duration.Custom, SubType.PHYREXIAN, SubType.HUMAN, SubType.CLERIC
|
||||
), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
3, 3, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
3, 3, Duration.Custom, SubLayer.SetPT_7b
|
||||
), source);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class EvraHalcyonWitnessEffect extends OneShotEffect {
|
|||
// For example, say Evra is enchanted with Dub (which makes it 6/6) and your life total is 7.
|
||||
// After the exchange, Evra would be a 9/6 creature (its power became 7, which was then modified by Dub) and your life total would be 6.
|
||||
// (2018-04-27)
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(StaticValue.get(life), null, Duration.Custom, SubLayer.SetPT_7b, true), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(StaticValue.get(life), null, Duration.Custom, SubLayer.SetPT_7b), source);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -38,7 +37,7 @@ public final class FaerieSwarm extends CardImpl {
|
|||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Faerie Swarm's power and toughness are each equal to the number of blue permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private FaerieSwarm(final FaerieSwarm card) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public final class FigureOfDestiny extends CardImpl {
|
|||
Duration.Custom, SubType.KITHKIN, SubType.SPIRIT
|
||||
).setText("{this} becomes a Kithkin Spirit"), new ManaCostsImpl<>("{R/W}"));
|
||||
ability.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
2, 2, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
2, 2, Duration.Custom, SubLayer.SetPT_7b
|
||||
).setText("with base power and toughness 2/2"));
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ class FigureOfDestinySpiritEffect extends OneShotEffect {
|
|||
Duration.Custom, SubType.KITHKIN, SubType.SPIRIT, SubType.WARRIOR
|
||||
), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
4, 4, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
4, 4, Duration.Custom, SubLayer.SetPT_7b
|
||||
), source);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -119,7 +119,7 @@ class FigureOfDestinyWarriorEffect extends OneShotEffect {
|
|||
Duration.Custom, SubType.KITHKIN, SubType.SPIRIT, SubType.WARRIOR, SubType.AVATAR
|
||||
), source);
|
||||
game.addEffect(new SetBasePowerToughnessSourceEffect(
|
||||
8, 8, Duration.Custom, SubLayer.SetPT_7b, true
|
||||
8, 8, Duration.Custom, SubLayer.SetPT_7b
|
||||
), source);
|
||||
game.addEffect(new GainAbilitySourceEffect(
|
||||
FlyingAbility.getInstance(), Duration.Custom
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public final class FiligreeAttendant extends CardImpl {
|
|||
|
||||
// Filigree Attendant's power is equal to the number of artifacts you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(
|
||||
ArtifactYouControlCount.instance, Duration.EndOfGame, SubLayer.CharacteristicDefining_7a
|
||||
ArtifactYouControlCount.instance
|
||||
).setText("{this}'s power is equal to the number of artifacts you control")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class FrodoSauronsBane extends CardImpl {
|
|||
this.addAbility(new SimpleActivatedAbility(
|
||||
new ConditionalOneShotEffect(new AddContinuousEffectToGame(
|
||||
new AddCardSubTypeSourceEffect(Duration.Custom, SubType.HALFLING, SubType.SCOUT),
|
||||
new SetBasePowerToughnessSourceEffect(2, 3, Duration.Custom, SubLayer.SetPT_7b, true),
|
||||
new SetBasePowerToughnessSourceEffect(2, 3, Duration.Custom, SubLayer.SetPT_7b),
|
||||
new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.Custom)
|
||||
), condition1, "if {this} is a Citizen, it becomes a Halfling Scout with base power and toughness 2/3 and lifelink"),
|
||||
new ManaCostsImpl<>("{W/B}{W/B}")
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -39,7 +38,7 @@ public final class FungalBehemoth extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Fungal Behemoth's power and toughness are each equal to the number of +1/+1 counters on creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new P1P1CountersOnControlledCreaturesCount(), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new P1P1CountersOnControlledCreaturesCount())));
|
||||
|
||||
// Suspend X-{X}{G}{G}. X can't be 0.
|
||||
this.addAbility(new SuspendAbility(Integer.MAX_VALUE, new ManaCostsImpl<>("{G}{G}"), this, true));
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterArtifactPermanent;
|
||||
|
|
@ -37,7 +36,7 @@ public final class GaeasAvenger extends CardImpl {
|
|||
|
||||
// Gaea's Avenger's power and toughness are each equal to 1 plus the number of artifacts your opponents control.
|
||||
|
||||
SetBasePowerToughnessSourceEffect effect = new SetBasePowerToughnessSourceEffect(new IntPlusDynamicValue(1, new PermanentsOnBattlefieldCount(filter)), Duration.EndOfGame);
|
||||
SetBasePowerToughnessSourceEffect effect = new SetBasePowerToughnessSourceEffect(new IntPlusDynamicValue(1, new PermanentsOnBattlefieldCount(filter)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, effect));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ public final class GaeasLiege extends CardImpl {
|
|||
|
||||
// As long as Gaea's Liege isn't attacking, its power and toughness are each equal to the number of Forests you control. As long as Gaea's Liege is attacking, its power and toughness are each equal to the number of Forests defending player controls.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new ConditionalContinuousEffect(
|
||||
new SetBasePowerToughnessSourceEffect(xValue2, Duration.EndOfGame),
|
||||
new SetBasePowerToughnessSourceEffect(xValue1, Duration.EndOfGame),
|
||||
new SetBasePowerToughnessSourceEffect(xValue2),
|
||||
new SetBasePowerToughnessSourceEffect(xValue1),
|
||||
SourceAttackingCondition.instance, "as long as {this} isn't attacking, " +
|
||||
"its power and toughness are each equal to the number of Forests you control. " +
|
||||
"As long as {this} is attacking, its power and toughness are each equal " +
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.VigilanceAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.permanent.token.SpiritWhiteToken;
|
||||
|
|
@ -34,7 +33,7 @@ public final class GeistHonoredMonk extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Geist-Honored Monk's power and toughness are each equal to the number of creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance, Duration.EndOfGame))
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(CreaturesYouControlCount.instance))
|
||||
.addHint(CreaturesYouControlHint.instance));
|
||||
|
||||
// When Geist-Honored Monk enters the battlefield, create two 1/1 white Spirit creature tokens with flying.
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class GigantiformAbility extends StaticAbility {
|
|||
super(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.AURA));
|
||||
Ability ability = new SimpleStaticAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new SetBasePowerToughnessSourceEffect(8, 8, Duration.WhileOnBattlefield, SubLayer.SetPT_7b, true)
|
||||
new SetBasePowerToughnessSourceEffect(8, 8, Duration.WhileOnBattlefield, SubLayer.SetPT_7b)
|
||||
);
|
||||
this.addEffect(new GainAbilityAttachedEffect(ability, AttachmentType.AURA));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ class GigantoplasmCopyApplier extends CopyApplier {
|
|||
@Override
|
||||
public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) {
|
||||
DynamicValue variableMana = ManacostVariableValue.REGULAR;
|
||||
Effect effect = new SetBasePowerToughnessSourceEffect(variableMana, Duration.WhileOnBattlefield, SubLayer.SetPT_7b, true);
|
||||
Effect effect = new SetBasePowerToughnessSourceEffect(variableMana, variableMana, Duration.WhileOnBattlefield, SubLayer.SetPT_7b);
|
||||
effect.setText("This creature has base power and toughness X/X");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
|
||||
blueprint.getAbilities().add(ability);
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class GreensleevesMaroSorcerer extends CardImpl {
|
|||
|
||||
// Greensleeves, Maro-Sorcerer's power and toughness are each equal to the number of lands you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LandsYouControlCount.instance)
|
||||
));
|
||||
|
||||
// Whenever a land enters the battlefield under your control, create a 3/3 green Badger creature token.
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class HalfdaneUpkeepEffect extends OneShotEffect {
|
|||
class HalfdaneSetBasePowerToughnessEffect extends SetBasePowerToughnessSourceEffect {
|
||||
|
||||
public HalfdaneSetBasePowerToughnessEffect(int power, int toughness) {
|
||||
super(power, toughness, Duration.UntilYourNextTurn, SubLayer.SetPT_7b, true);
|
||||
super(power, toughness, Duration.UntilYourNextTurn, SubLayer.SetPT_7b);
|
||||
}
|
||||
|
||||
public HalfdaneSetBasePowerToughnessEffect(final HalfdaneSetBasePowerToughnessEffect effect) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
import mage.abilities.effects.common.continuous.SetBasePowerSourceEffect;
|
||||
import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -37,7 +36,7 @@ public final class HaughtyDjinn extends CardImpl {
|
|||
// Haughty Djinn's power is equal to the number of instant and sorcery cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(new CardsInControllerGraveyardCount(filter), Duration.EndOfGame)
|
||||
new SetBasePowerSourceEffect(new CardsInControllerGraveyardCount(filter))
|
||||
));
|
||||
|
||||
// Instant and sorcery spells you cast cost {1} less to cast.
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
|
|
@ -38,7 +37,7 @@ public final class HeedlessOne extends CardImpl {
|
|||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
// Heedless One's power and toughness are each equal to the number of Elves on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private HeedlessOne(final HeedlessOne card) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -37,7 +36,7 @@ public final class HordeOfBoggarts extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Horde of Boggarts's power and toughness are each equal to the number of red permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
|
||||
// Menace (This creature can't be blocked except by two or more creatures.)
|
||||
this.addAbility(new MenaceAbility());
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerSourceEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -37,7 +36,7 @@ public final class IronrootWarlord extends CardImpl {
|
|||
// Ironroot Warlord's power is equal to the number of creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerSourceEffect(xValue, Duration.EndOfGame)
|
||||
new SetBasePowerSourceEffect(xValue)
|
||||
.setText("{this}'s power is equal to the number of creatures you control")
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
|
|
@ -46,7 +45,7 @@ public final class Ixidron extends CardImpl {
|
|||
this.addAbility(new AsEntersBattlefieldAbility(new BecomesFaceDownCreatureAllEffect(filterTurnFaceDown)));
|
||||
|
||||
// Ixidron's power and toughness are each equal to the number of face-down creatures on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private Ixidron(final Ixidron card) {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
|
@ -45,7 +44,7 @@ public final class JaggedScarArchers extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Jagged-Scar Archers's power and toughness are each equal to the number of Elves you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(controlledElvesFilter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(controlledElvesFilter))));
|
||||
// {tap}: Jagged-Scar Archers deals damage equal to its power to target creature with flying.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()).setText("{this} deals damage equal to its power to target creature with flying"), new TapSourceCost());
|
||||
ability.addTarget(new TargetCreaturePermanent(flyingCreatureFilter));
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public final class KagemaroFirstToSuffer extends CardImpl {
|
|||
|
||||
DynamicValue xValue = CardsInControllerHandCount.instance;
|
||||
// Kagemaro, First to Suffer's power and toughness are each equal to the number of cards in your hand.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)));
|
||||
// {B}, Sacrifice Kagemaro: All creatures get -X/-X until end of turn, where X is the number of cards in your hand.
|
||||
|
||||
DynamicValue xMinusValue = new SignInversionDynamicValue(xValue);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
|
@ -39,7 +38,7 @@ public final class KalonianTwingrove extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Kalonian Twingrove's power and toughness are each equal to the number of Forests you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterLands), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterLands))));
|
||||
// When Kalonian Twingrove enters the battlefield, create a green Treefolk Warrior creature token with "This creature's power and toughness are each equal to the number of Forests you control."
|
||||
Effect effect = new CreateTokenEffect(new KalonianTwingroveTreefolkWarriorToken());
|
||||
effect.setText("create a green Treefolk Warrior creature token with \"This creature's power and toughness are each equal to the number of Forests you control.\"");
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public final class KatildaDawnhartMartyr extends CardImpl {
|
|||
|
||||
// Katilda, Dawnhart Martyr's power and toughness are each equal to the number of permanents you control that are Spirits and/or enchantments.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)
|
||||
).addHint(hint));
|
||||
|
||||
// Disturb {3}{W}{W}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffec
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
|
|
@ -35,7 +34,7 @@ public final class KeldonWarlord extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Keldon Warlord's power and toughness are each equal to the number of non-Wall creatures you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private KeldonWarlord(final KeldonWarlord card) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
|
|
@ -39,7 +38,7 @@ public final class KineticAugur extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Kinetic Augur's power is equal to the number of instant and sorcery cards in your graveyard.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerSourceEffect(xValue)));
|
||||
|
||||
// When Kinetic Augur enters the battlefield, discard up to two cards, then draw that many cards.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DiscardAndDrawThatManyEffect(2)));
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -38,7 +37,7 @@ public final class KithkinRabble extends CardImpl {
|
|||
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
// Kithkin Rabble's power and toughness are each equal to the number of white permanents you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
}
|
||||
|
||||
private KithkinRabble(final KithkinRabble card) {
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class KiyomaroFirstToStand extends CardImpl {
|
|||
|
||||
// Kiyomaro, First to Stand's power and toughness are each equal to the number of cards in your hand.
|
||||
DynamicValue xValue= CardsInControllerHandCount.instance;
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue, Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(xValue)));
|
||||
|
||||
// As long as you have four or more cards in hand, Kiyomaro has vigilance.
|
||||
Condition condition = new CardsInHandCondition(ComparisonType.MORE_THAN,3);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class KodamaOfTheCenterTree extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Kodama of the Center Tree's power and toughness are each equal to the number of Spirits you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter))));
|
||||
|
||||
// Kodama of the Center Tree has soulshift X, where X is the number of Spirits you control.
|
||||
this.addAbility(new SoulshiftAbility(new PermanentsOnBattlefieldCount(filter)));
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.StaticFilters;
|
||||
|
|
@ -34,7 +33,7 @@ public final class KolaghanForerunners extends CardImpl {
|
|||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Kolaghan Forerunners' power is equal to the number of creatures you control.
|
||||
Effect effect = new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURES), Duration.EndOfGame);
|
||||
Effect effect = new SetBasePowerSourceEffect(new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURES));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, effect).addHint(CreaturesYouControlHint.instance));
|
||||
|
||||
// Dash {2}{R} <i.(You may cast this spell for its dash cost. If you do it gains haste and it's returned to its owner's hand at the beginning of the next end step.)</i>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public final class KorlashHeirToBlackblade extends CardImpl {
|
|||
this.toughness = new MageInt(0);
|
||||
|
||||
// Korlash, Heir to Blackblade's power and toughness are each equal to the number of Swamps you control.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterPermanent), Duration.EndOfGame)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterPermanent))));
|
||||
|
||||
// {1}{B}: Regenerate Korlash.
|
||||
Effect effect = new RegenerateSourceEffect();
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
|
|
@ -38,7 +37,7 @@ public final class KrovikanMist extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
// Krovikan Mist's power and toughness are each equal to the number of Illusions on the battlefield.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(illusionsFilter), Duration.EndOfGame)));
|
||||
new SetBasePowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(illusionsFilter))));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ public final class Lhurgoyf extends CardImpl {
|
|||
// Lhurgoyf's power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL,
|
||||
new SetBasePowerToughnessSourceEffect(powerValue, toughnessValue, Duration.EndOfGame, SubLayer.CharacteristicDefining_7a, false)
|
||||
new SetBasePowerToughnessSourceEffect(powerValue, toughnessValue, Duration.EndOfGame, SubLayer.CharacteristicDefining_7a)
|
||||
.setText("{this}'s power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1")
|
||||
));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public final class LivingLore extends CardImpl {
|
|||
|
||||
// Living Lore's power and toughness are each equal to the exiled card's converted mana cost.
|
||||
this.addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LivingLoreValue.instance, Duration.EndOfGame)
|
||||
Zone.ALL, new SetBasePowerToughnessSourceEffect(LivingLoreValue.instance)
|
||||
.setText("{this}'s power and toughness are each equal to the exiled card's mana value")
|
||||
));
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue