diff --git a/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java b/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java index c2680f32ef..1c9e597233 100644 --- a/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java +++ b/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java @@ -1,10 +1,10 @@ - package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.abilityword.ConstellationAbility; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; @@ -28,7 +28,9 @@ public final class DreadbringerLampads extends CardImpl { this.toughness = new MageInt(2); // Constellation - Whenever Dreadbringer Lampads or another enchantment enters the battlefield under your control, target creature gains intimidate until end of turn. - Ability ability = new ConstellationAbility(new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn), false); + Effect effect = new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn); + effect.setText("target creature gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.)"); + Ability ability = new ConstellationAbility(effect); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HideousVisage.java b/Mage.Sets/src/mage/cards/h/HideousVisage.java index babcd2c50d..f67f7fa44c 100644 --- a/Mage.Sets/src/mage/cards/h/HideousVisage.java +++ b/Mage.Sets/src/mage/cards/h/HideousVisage.java @@ -8,7 +8,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.StaticFilters; /** * @@ -16,11 +16,17 @@ import mage.filter.common.FilterControlledCreaturePermanent; */ public final class HideousVisage extends CardImpl { + private static final String rule = "creatures you control gain intimidate until end of turn. " + + "(Each of those creatures can't be blocked except by artifact creatures and/or " + + "creatures that share a color with it.)"; + public HideousVisage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{B}"); - - this.getSpellAbility().addEffect(new GainAbilityControlledEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures"))); + this.getSpellAbility().addEffect(new GainAbilityControlledEffect( + IntimidateAbility.getInstance(), + Duration.EndOfTurn, + StaticFilters.FILTER_PERMANENT_CREATURES).setText(rule)); } private HideousVisage(final HideousVisage card) { diff --git a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java index 64bcc64008..b52a1d5fdd 100644 --- a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java +++ b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java @@ -1,4 +1,3 @@ - package mage.cards.k; import java.util.UUID; @@ -8,6 +7,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesToughness; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.permanent.token.SaprolingToken; @@ -46,13 +45,17 @@ public final class KorozdaGuildmage extends CardImpl { this.toughness = new MageInt(2); // {1}{B}{G}: Target creature gets +1/+1 and gains intimidate until end of turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1,1, Duration.EndOfTurn),new ManaCostsImpl("{1}{B}{G}")); - ability.addEffect(new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn)); + Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn); + effect.setText("target creature gets +1/+1"); + Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl("{1}{B}{G}")); + effect = new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.)"); + ability.addEffect(effect); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // {2}{B}{G}, Sacrifice a nontoken creature: create X 1/1 green Saproling creature tokens, where X is the sacrificed creature's toughness. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken(),SacrificeCostCreaturesToughness.instance),new ManaCostsImpl("{2}{B}{G}")); + ability = new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken(),SacrificeCostCreaturesToughness.instance),new ManaCostsImpl("{2}{B}{G}")); ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1,filter, true))); this.addAbility(ability); @@ -66,4 +69,4 @@ public final class KorozdaGuildmage extends CardImpl { public KorozdaGuildmage copy() { return new KorozdaGuildmage(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/p/PredatorsGambit.java b/Mage.Sets/src/mage/cards/p/PredatorsGambit.java index af9c3c6dea..c7116ad88e 100644 --- a/Mage.Sets/src/mage/cards/p/PredatorsGambit.java +++ b/Mage.Sets/src/mage/cards/p/PredatorsGambit.java @@ -1,4 +1,3 @@ - package mage.cards.p; import java.util.UUID; @@ -6,7 +5,6 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CreatureCountCondition; import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.BoostEnchantedEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; @@ -23,7 +21,8 @@ import mage.target.common.TargetCreaturePermanent; */ public final class PredatorsGambit extends CardImpl { - private static final String rule = "Enchanted creature has intimidate as long as its controller controls no other creatures"; + private static final String rule = "Enchanted creature has intimidate as long as its controller controls no other creatures. " + + "(It can't be blocked except by artifact creatures and/or creatures that share a color with it.)"; public PredatorsGambit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); @@ -38,12 +37,14 @@ public final class PredatorsGambit extends CardImpl { this.addAbility(ability); // Enchanted creature gets +2/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield))); + this.addAbility(new SimpleStaticAbility(new BoostEnchantedEffect(2, 1))); // Enchanted creature has intimidate as long as its controller controls no other creatures. - ContinuousEffect effect = new GainAbilityAttachedEffect(IntimidateAbility.getInstance(), AttachmentType.AURA); - ConditionalContinuousEffect intimidate = new ConditionalContinuousEffect(effect, new CreatureCountCondition(1, TargetController.YOU), rule); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, intimidate)); + this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( + new GainAbilityAttachedEffect(IntimidateAbility.getInstance(), AttachmentType.AURA), + new CreatureCountCondition(1, TargetController.YOU), + rule + ))); } diff --git a/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java b/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java index 82bffd7429..769ae1b0c8 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java +++ b/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java @@ -5,6 +5,7 @@ import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; @@ -39,12 +40,10 @@ public final class ShadowAlleyDenizen extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - // Whenever another black creature enters the battlefield under your control, target creature gains intimidate until end of turn. - Ability ability = new EntersBattlefieldAllTriggeredAbility( - Zone.BATTLEFIELD, - new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn), - filter, false, null, true); + Effect effect = new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn); + effect.setText("target creature gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.)"); + Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, effect, filter, false, null, true); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java b/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java index 8bacd91aad..da2d0712ea 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java +++ b/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java @@ -1,9 +1,9 @@ - package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; @@ -27,7 +27,9 @@ public final class SurrakarMarauder extends CardImpl { // Landfall - Whenever a land enters the battlefield under your control, Surrakar Marauder gains intimidate until end of turn. // (It can't be blocked except by artifact creatures and/or creatures that share a color with it.) - this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn), false)); + Effect effect = new GainAbilitySourceEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn); + effect.setText("{this} gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.)"); + this.addAbility(new LandfallAbility(effect)); } private SurrakarMarauder(final SurrakarMarauder card) { diff --git a/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java b/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java index d369a8a8d7..db87371f9c 100644 --- a/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java +++ b/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java @@ -1,9 +1,9 @@ - package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.InspiredAbility; import mage.abilities.keyword.IntimidateAbility; @@ -29,7 +29,9 @@ public final class WarchanterOfMogis extends CardImpl { this.toughness = new MageInt(3); // Inspired — Whenever Warchanter of Mogis becomes untapped, target creature you control gains intimidate until end of turn. - Ability ability = new InspiredAbility(new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn), false); + Effect effect = new GainAbilityTargetEffect(IntimidateAbility.getInstance(), Duration.EndOfTurn); + effect.setText("target creature you control gains intimidate until end of turn. (A creature with intimidate can't be blocked except by artifact creatures and/or creatures that share a color with it.)"); + Ability ability = new InspiredAbility(effect); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage/src/main/java/mage/abilities/keyword/IntimidateAbility.java b/Mage/src/main/java/mage/abilities/keyword/IntimidateAbility.java index 1664cd4ee2..b41f53acae 100644 --- a/Mage/src/main/java/mage/abilities/keyword/IntimidateAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/IntimidateAbility.java @@ -33,7 +33,7 @@ public class IntimidateAbility extends EvasionAbility implements MageSingleton { @Override public String getRule() { - return "intimidate (This creature can't be blocked except by artifact creatures and/or creatures that share a color with it.)"; + return "intimidate (This creature can't be blocked except by artifact creatures and/or creatures that share a color with it.)"; } @Override