mirror of
https://github.com/correl/mage.git
synced 2025-03-17 09:16:26 -09:00
added life gain hints to various cards
This commit is contained in:
parent
1e67899098
commit
4528663f1a
8 changed files with 61 additions and 75 deletions
|
@ -2,6 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
@ -23,9 +24,10 @@ public final class AngelicAccord extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}");
|
||||||
|
|
||||||
// At the beginning of each end step, if you gained 4 or more life this turn, create a 4/4 white Angel creature token with flying.
|
// At the beginning of each end step, if you gained 4 or more life this turn, create a 4/4 white Angel creature token with flying.
|
||||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new AngelToken()), TargetController.ANY,
|
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||||
new YouGainedLifeCondition(ComparisonType.MORE_THAN, 3), false),
|
Zone.BATTLEFIELD, new CreateTokenEffect(new AngelToken()), TargetController.ANY,
|
||||||
new PlayerGainedLifeWatcher());
|
new YouGainedLifeCondition(ComparisonType.MORE_THAN, 3), false
|
||||||
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private AngelicAccord(final AngelicAccord card) {
|
private AngelicAccord(final AngelicAccord card) {
|
||||||
|
|
|
@ -1,29 +1,24 @@
|
||||||
|
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
import mage.abilities.keyword.IndestructibleAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.ComparisonType;
|
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.TargetController;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.game.permanent.token.CrestedSunmareToken;
|
import mage.game.permanent.token.CrestedSunmareToken;
|
||||||
import mage.watchers.common.PlayerGainedLifeWatcher;
|
import mage.watchers.common.PlayerGainedLifeWatcher;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author emerald000
|
* @author emerald000
|
||||||
*/
|
*/
|
||||||
public final class CrestedSunmare extends CardImpl {
|
public final class CrestedSunmare extends CardImpl {
|
||||||
|
@ -42,15 +37,19 @@ public final class CrestedSunmare extends CardImpl {
|
||||||
this.toughness = new MageInt(5);
|
this.toughness = new MageInt(5);
|
||||||
|
|
||||||
// Other Horses you control have indestructible.
|
// Other Horses you control have indestructible.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
|
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
|
||||||
|
IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, true
|
||||||
|
)));
|
||||||
|
|
||||||
// At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token.
|
// At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token.
|
||||||
this.addAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new ConditionalInterveningIfTriggeredAbility(
|
new BeginningOfEndStepTriggeredAbility(
|
||||||
new BeginningOfEndStepTriggeredAbility(new CreateTokenEffect(new CrestedSunmareToken()), TargetController.ANY, false),
|
new CreateTokenEffect(new CrestedSunmareToken()),
|
||||||
new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0),
|
TargetController.ANY, false
|
||||||
"At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token."),
|
), new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0),
|
||||||
new PlayerGainedLifeWatcher());
|
"At the beginning of each end step, if you gained life this turn, " +
|
||||||
|
"create a 5/5 white Horse creature token."
|
||||||
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private CrestedSunmare(final CrestedSunmare card) {
|
private CrestedSunmare(final CrestedSunmare card) {
|
||||||
|
|
|
@ -1,29 +1,21 @@
|
||||||
|
|
||||||
package mage.cards.o;
|
package mage.cards.o;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
|
||||||
import mage.abilities.effects.AsThoughEffectImpl;
|
import mage.abilities.effects.AsThoughEffectImpl;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.AsThoughEffectType;
|
import mage.constants.*;
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.ComparisonType;
|
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.Outcome;
|
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.watchers.common.PlayerGainedLifeWatcher;
|
import mage.watchers.common.PlayerGainedLifeWatcher;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class OathswornVampire extends CardImpl {
|
public final class OathswornVampire extends CardImpl {
|
||||||
|
@ -40,7 +32,9 @@ public final class OathswornVampire extends CardImpl {
|
||||||
this.addAbility(new EntersBattlefieldTappedAbility());
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
|
|
||||||
// You may cast Oathsworn Vampire from your graveyard if you gained life this turn.
|
// You may cast Oathsworn Vampire from your graveyard if you gained life this turn.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new OathswornVampirePlayEffect()), new PlayerGainedLifeWatcher());
|
this.addAbility(new SimpleStaticAbility(
|
||||||
|
Zone.ALL, new OathswornVampirePlayEffect()
|
||||||
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private OathswornVampire(final OathswornVampire card) {
|
private OathswornVampire(final OathswornVampire card) {
|
||||||
|
@ -55,17 +49,13 @@ public final class OathswornVampire extends CardImpl {
|
||||||
|
|
||||||
class OathswornVampirePlayEffect extends AsThoughEffectImpl {
|
class OathswornVampirePlayEffect extends AsThoughEffectImpl {
|
||||||
|
|
||||||
private Condition condition;
|
OathswornVampirePlayEffect() {
|
||||||
|
|
||||||
public OathswornVampirePlayEffect() {
|
|
||||||
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit);
|
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit);
|
||||||
staticText = "You may cast {this} from your graveyard if you gained life this turn";
|
staticText = "You may cast {this} from your graveyard if you gained life this turn";
|
||||||
condition = new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public OathswornVampirePlayEffect(final OathswornVampirePlayEffect effect) {
|
private OathswornVampirePlayEffect(final OathswornVampirePlayEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
this.condition = effect.condition;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -80,13 +70,15 @@ class OathswornVampirePlayEffect extends AsThoughEffectImpl {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) {
|
public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) {
|
||||||
if (sourceId.equals(source.getSourceId()) && source.isControlledBy(affectedControllerId)) {
|
PlayerGainedLifeWatcher watcher = game.getState().getWatcher(PlayerGainedLifeWatcher.class);
|
||||||
Card card = game.getCard(source.getSourceId());
|
if (watcher == null
|
||||||
if (card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) {
|
|| watcher.getLifeGained(source.getControllerId()) < 1
|
||||||
return condition.apply(game, source);
|
|| !sourceId.equals(source.getSourceId())
|
||||||
}
|
|| !source.isControlledBy(affectedControllerId)) {
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Card card = game.getCard(source.getSourceId());
|
||||||
|
return card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,24 @@
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
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.ComparisonType;
|
import mage.constants.ComparisonType;
|
||||||
|
import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.game.permanent.token.BatToken;
|
import mage.game.permanent.token.BatToken;
|
||||||
import mage.watchers.common.PlayerGainedLifeWatcher;
|
import mage.watchers.common.PlayerGainedLifeWatcher;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class RegalBloodlord extends CardImpl {
|
public final class RegalBloodlord extends CardImpl {
|
||||||
|
@ -43,7 +44,7 @@ public final class RegalBloodlord extends CardImpl {
|
||||||
"At the beginning of each end step, "
|
"At the beginning of each end step, "
|
||||||
+ "if you gained life this turn, "
|
+ "if you gained life this turn, "
|
||||||
+ "create a 1/1 black Bat creature token with flying."
|
+ "create a 1/1 black Bat creature token with flying."
|
||||||
), new PlayerGainedLifeWatcher());
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private RegalBloodlord(final RegalBloodlord card) {
|
private RegalBloodlord(final RegalBloodlord card) {
|
||||||
|
|
|
@ -1,30 +1,26 @@
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.LifelinkAbility;
|
import mage.abilities.keyword.LifelinkAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.ComparisonType;
|
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.TargetController;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.permanent.token.AngelVigilanceToken;
|
import mage.game.permanent.token.AngelVigilanceToken;
|
||||||
import mage.watchers.common.PlayerGainedLifeWatcher;
|
import mage.watchers.common.PlayerGainedLifeWatcher;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ResplendentAngel extends CardImpl {
|
public final class ResplendentAngel extends CardImpl {
|
||||||
|
@ -41,23 +37,16 @@ public final class ResplendentAngel extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of each end step, if you gained 5 or more life this turn, create a 4/4 white Angel creature token with flying and vigilance.
|
// At the beginning of each end step, if you gained 5 or more life this turn, create a 4/4 white Angel creature token with flying and vigilance.
|
||||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD, new CreateTokenEffect(new AngelVigilanceToken()),
|
||||||
new CreateTokenEffect(new AngelVigilanceToken()),
|
TargetController.ANY, new YouGainedLifeCondition(ComparisonType.MORE_THAN, 4), false
|
||||||
TargetController.ANY,
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
new YouGainedLifeCondition(ComparisonType.MORE_THAN, 4),
|
|
||||||
false
|
|
||||||
), new PlayerGainedLifeWatcher());
|
|
||||||
|
|
||||||
// {3}{W}{W}{W}: Until end of turn, Resplendent Angel gets +2/+2 and gains lifelink.
|
// {3}{W}{W}{W}: Until end of turn, Resplendent Angel gets +2/+2 and gains lifelink.
|
||||||
Ability ability = new SimpleActivatedAbility(
|
Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(
|
||||||
new BoostSourceEffect(
|
|
||||||
2, 2, Duration.EndOfTurn
|
2, 2, Duration.EndOfTurn
|
||||||
).setText("until end of turn, {this} gets +2/+2"),
|
).setText("until end of turn, {this} gets +2/+2"), new ManaCostsImpl("{3}{W}{W}{W}"));
|
||||||
new ManaCostsImpl("{3}{W}{W}{W}")
|
|
||||||
);
|
|
||||||
ability.addEffect(new GainAbilitySourceEffect(
|
ability.addEffect(new GainAbilitySourceEffect(
|
||||||
LifelinkAbility.getInstance(),
|
LifelinkAbility.getInstance(), Duration.EndOfTurn
|
||||||
Duration.EndOfTurn
|
|
||||||
).setText("and gains lifelink"));
|
).setText("and gains lifelink"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.costs.Cost;
|
import mage.abilities.costs.Cost;
|
||||||
import mage.abilities.costs.common.PayLifeCost;
|
import mage.abilities.costs.common.PayLifeCost;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.LifelinkAbility;
|
import mage.abilities.keyword.LifelinkAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -42,7 +43,7 @@ public final class TivashGloomSummoner extends CardImpl {
|
||||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||||
Zone.BATTLEFIELD, new TivashGloomSummonerEffect(),
|
Zone.BATTLEFIELD, new TivashGloomSummonerEffect(),
|
||||||
TargetController.YOU, condition, false
|
TargetController.YOU, condition, false
|
||||||
), new PlayerGainedLifeWatcher());
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private TivashGloomSummoner(final TivashGloomSummoner card) {
|
private TivashGloomSummoner(final TivashGloomSummoner card) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.LifelinkAbility;
|
import mage.abilities.keyword.LifelinkAbility;
|
||||||
|
@ -47,7 +48,7 @@ public final class ValkyrieHarbinger extends CardImpl {
|
||||||
TargetController.ANY, false
|
TargetController.ANY, false
|
||||||
), condition, "At the beginning of each end step, if you gained 4 or more life this turn, " +
|
), condition, "At the beginning of each end step, if you gained 4 or more life this turn, " +
|
||||||
"create a 4/4 white Angel creature token with flying and vigilance."
|
"create a 4/4 white Angel creature token with flying and vigilance."
|
||||||
), new PlayerGainedLifeWatcher());
|
).addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private ValkyrieHarbinger(final ValkyrieHarbinger card) {
|
private ValkyrieHarbinger(final ValkyrieHarbinger card) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.YouGainedLifeCondition;
|
import mage.abilities.condition.common.YouGainedLifeCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
import mage.abilities.dynamicvalue.common.ControllerGotLifeCount;
|
||||||
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
|
||||||
import mage.abilities.effects.common.SacrificeOpponentsEffect;
|
import mage.abilities.effects.common.SacrificeOpponentsEffect;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
import mage.abilities.keyword.DeathtouchAbility;
|
||||||
|
@ -53,7 +54,7 @@ public final class WitchOfTheMoors extends CardImpl {
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(
|
ability.addTarget(new TargetCardInYourGraveyard(
|
||||||
0, 1, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD
|
0, 1, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD
|
||||||
));
|
));
|
||||||
this.addAbility(ability, new PlayerGainedLifeWatcher());
|
this.addAbility(ability.addHint(ControllerGotLifeCount.getHint()), new PlayerGainedLifeWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
private WitchOfTheMoors(final WitchOfTheMoors card) {
|
private WitchOfTheMoors(final WitchOfTheMoors card) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue