* Relic Runner - Fixed condional can't be blocked handling.

This commit is contained in:
LevelX2 2018-04-19 22:48:20 +02:00
parent 19ad6da608
commit 7ff67b30fa
3 changed files with 7 additions and 8 deletions

View file

@ -34,15 +34,13 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition; import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.effects.common.combat.CantBeBlockedAllEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.abilities.keyword.CantBeBlockedSourceAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.constants.SubType;
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.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.stack.Spell; import mage.game.stack.Spell;
@ -65,9 +63,9 @@ public class RelicRunner extends CardImpl {
// Relic Runner can't be blocked if you've cast an historic spell this turn. // Relic Runner can't be blocked if you've cast an historic spell this turn.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new ConditionalContinuousEffect( new ConditionalContinuousEffect(
new GainAbilitySourceEffect(new CantBeBlockedSourceAbility(), Duration.EndOfTurn), new GainAbilitySourceEffect(new CantBeBlockedSourceAbility(), Duration.WhileOnBattlefield),
new CastHistoricSpellThisTurnCondition(), new CastHistoricSpellThisTurnCondition(),
"{this} can't be blocked if you've cast an historic spell this turn" "{this} can't be blocked if you've cast an historic spell this turn. <i>(Artifacts, legendaries, and Sagas are historic.)</i>"
) )
), new SpellsCastWatcher()); ), new SpellsCastWatcher());
} }

View file

@ -59,7 +59,7 @@ import mage.filter.predicate.permanent.AnotherPredicate;
public class ShalaiVoiceOfPlenty extends CardImpl { public class ShalaiVoiceOfPlenty extends CardImpl {
private static final FilterControlledPermanent filter1 = new FilterControlledPermanent("planeswalkers you control"); private static final FilterControlledPermanent filter1 = new FilterControlledPermanent("planeswalkers you control");
private static final FilterControlledPermanent filter2 = new FilterControlledPermanent("Humans you control"); private static final FilterControlledPermanent filter2 = new FilterControlledPermanent();
static { static {
filter1.add(new CardTypePredicate(CardType.PLANESWALKER)); filter1.add(new CardTypePredicate(CardType.PLANESWALKER));

View file

@ -35,7 +35,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.StaticFilters;
/** /**
* *
@ -47,7 +47,8 @@ public class WarlordsFury extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
// Creatures you control gain first strike until end of turn. // Creatures you control gain first strike until end of turn.
getSpellAbility().addEffect(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent(), "Creatures you control gain first strike until end of turn")); getSpellAbility().addEffect(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_CONTROLLED_CREATURES, "Creatures you control gain first strike until end of turn.<br>"));
// Draw a card. // Draw a card.
getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));