diff --git a/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java b/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java
index 9f97adf0fab..27880770ad5 100644
--- a/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java
+++ b/Mage.Sets/src/mage/cards/a/ArchaeomancersMap.java
@@ -41,7 +41,7 @@ public final class ArchaeomancersMap extends CardImpl {
// When Archaeomancer's Map enters the battlefield, search your library for up to two basic Plains cards, reveal them, put them into your hand, then shuffle.
this.addAbility(new EntersBattlefieldTriggeredAbility(
- new SearchLibraryPutInHandEffect(new TargetCardInLibrary(2, filter), true)
+ new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, filter), true)
));
// Whenever a land enters the battlefield under an opponent's control, if that player controls more lands than you, you may put a land card from your hand onto the battlefield.
diff --git a/Mage.Sets/src/mage/cards/b/BlindHunter.java b/Mage.Sets/src/mage/cards/b/BlindHunter.java
index dc9ecd245ab..a4df0d34f8d 100644
--- a/Mage.Sets/src/mage/cards/b/BlindHunter.java
+++ b/Mage.Sets/src/mage/cards/b/BlindHunter.java
@@ -33,7 +33,7 @@ public final class BlindHunter extends CardImpl {
// When Blind Hunter enters the battlefield or the creature it haunts dies, target player loses 2 life and you gain 2 life.
Ability ability = new HauntAbility(this, new LoseLifeTargetEffect(2));
ability.addTarget(new TargetPlayer());
- ability.addEffect(new GainLifeEffect(2));
+ ability.addEffect(new GainLifeEffect(2).concatBy("and"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java
index cd928ba7051..70037690234 100644
--- a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java
+++ b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java
@@ -24,7 +24,7 @@ import java.util.UUID;
*/
public final class ElvishGuidance extends CardImpl {
- private static final FilterPermanent filter = new FilterPermanent(SubType.ELF, "");
+ private static final FilterPermanent filter = new FilterPermanent(SubType.ELF, "Elf on the battlefield");
private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter);
public ElvishGuidance(UUID ownerId, CardSetInfo setInfo) {
@@ -41,7 +41,7 @@ public final class ElvishGuidance extends CardImpl {
// Whenever enchanted land is tapped for mana, its controller adds {G} for each Elf on the battlefield.
this.addAbility(new EnchantedTappedTriggeredManaAbility(new DynamicManaEffect(
Mana.GreenMana(1), xValue
- ).setText("its controller adds {G} for each Elf on the battlefield")));
+ )));
}
private ElvishGuidance(final ElvishGuidance card) {
diff --git a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java
index c0633aa9062..e9c92271692 100644
--- a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java
+++ b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java
@@ -37,7 +37,7 @@ public final class ElvishPathcutter extends CardImpl {
this.toughness = new MageInt(2);
// {2}{G}: Target Elf creature gains forestwalk until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new ForestwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java
index c5d016bf2ee..034eb05e374 100644
--- a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java
+++ b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java
@@ -40,7 +40,7 @@ public final class EmbermageGoblin extends CardImpl {
this.toughness = new MageInt(1);
// When Embermage Goblin enters the battlefield, you may search your library for a card named Embermage Goblin, reveal it, and put it into your hand. If you do, shuffle your library.
- TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter);
+ TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter);
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true));
// {tap}: Embermage Goblin deals 1 damage to any target.
diff --git a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java
index 66e0ce0855d..af3c0caf56e 100644
--- a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java
+++ b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java
@@ -30,8 +30,10 @@ public final class GhorClanRampager extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// Bloodrush - {R}{G}, Discard Ghor-Clan Rampager: Target attacking creature gets +4/+4 and gains trample until end of turn.
- Ability ability = new BloodrushAbility("{R}{G}",new BoostTargetEffect(4,4, Duration.EndOfTurn));
- ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
+ Ability ability = new BloodrushAbility("{R}{G}",new BoostTargetEffect(4,4, Duration.EndOfTurn)
+ .setText("target attacking creature gets +4/+4"));
+ ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
+ .setText("and gains trample until end of turn"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java
index 901f49c9555..eb1050c609f 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
-import mage.abilities.effects.common.continuous.BoostControlledEffect;
+import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -37,7 +37,7 @@ public final class GoblinPyromancer extends CardImpl {
this.toughness = new MageInt(2);
// When Goblin Pyromancer enters the battlefield, Goblin creatures get +3/+0 until end of turn.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(3, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS)));
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostAllEffect(3, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS, false)));
// At the beginning of the end step, destroy all Goblins.
this.addAbility(new BeginningOfEndStepTriggeredAbility(new DestroyAllEffect(filterPermanent, false), TargetController.ANY, false));
diff --git a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java
index 015ee533591..6bdd9bc2fa8 100644
--- a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java
+++ b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java
@@ -45,9 +45,9 @@ public final class KamahlFistOfKrosa extends CardImpl {
// {2}{G}{G}{G}: Creatures you control get +3/+3 and gain trample until end of turn.
SimpleActivatedAbility boostAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostControlledEffect(3, 3, Duration.EndOfTurn),
+ new BoostControlledEffect(3, 3, Duration.EndOfTurn).setText("Creatures you control get +3/+3"),
new ManaCostsImpl<>("{2}{G}{G}{G}"));
- boostAbility.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
+ boostAbility.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES).setText("and gain trample until end of turn"));
this.addAbility(boostAbility);
}
diff --git a/Mage.Sets/src/mage/cards/r/Rubblehulk.java b/Mage.Sets/src/mage/cards/r/Rubblehulk.java
index e260c6521cf..59e268c772a 100644
--- a/Mage.Sets/src/mage/cards/r/Rubblehulk.java
+++ b/Mage.Sets/src/mage/cards/r/Rubblehulk.java
@@ -36,7 +36,8 @@ public final class Rubblehulk extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(controlledLands)));
// Bloodrush - 1{R}{G}, Discard Rubblehulk: Target attacking creature gets +X/+X until end of turn, where X is the number of lands you control.
- this.addAbility(new BloodrushAbility("{1}{R}{G}", new BoostTargetEffect(controlledLands, controlledLands, Duration.EndOfTurn)));
+ this.addAbility(new BloodrushAbility("{1}{R}{G}", new BoostTargetEffect(controlledLands, controlledLands, Duration.EndOfTurn)
+ .setText("target attacking creature gets +X/+X until end of turn, where X is the number of lands you control")));
}
private Rubblehulk(final Rubblehulk card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java
index 59dd2112681..17aee7dd85c 100644
--- a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java
+++ b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java
@@ -37,7 +37,7 @@ public final class ScreamingSeahawk extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Screaming Seahawk enters the battlefield, you may search your library for a card named Screaming Seahawk, reveal it, and put it into your hand. If you do, shuffle your library.
- TargetCardInLibrary target = new TargetCardInLibrary(0, 1, filter);
+ TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter);
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java
index 528028375eb..7a47b14bf60 100644
--- a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java
+++ b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java
@@ -32,8 +32,10 @@ public final class SkarrgGoliath extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Bloodrush - {5}{G}{G}, Discard Skarrg Goliath: Target attacking creature gets +9/+9 and gains trample until end of turn.
- Ability ability = new BloodrushAbility("{5}{G}{G}", new BoostTargetEffect(9,9, Duration.EndOfTurn));
- ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
+ Ability ability = new BloodrushAbility("{5}{G}{G}", new BoostTargetEffect(9,9, Duration.EndOfTurn)
+ .setText("target attacking creature gets +9/+9"));
+ ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
+ .setText("and gains trample until end of turn"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SnappingThragg.java b/Mage.Sets/src/mage/cards/s/SnappingThragg.java
index c793aa68aae..ebd441c2b2e 100644
--- a/Mage.Sets/src/mage/cards/s/SnappingThragg.java
+++ b/Mage.Sets/src/mage/cards/s/SnappingThragg.java
@@ -86,6 +86,6 @@ class SnappingThraggTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Whenever {this} deals combat damage to a player, you may have it deal 3 damage to target creature that player controls";
+ return "Whenever {this} deals combat damage to a player, you may have it deal 3 damage to target creature that player controls.";
}
}
diff --git a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java
index 5c22181ffc7..ff77e3573b7 100644
--- a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java
+++ b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java
@@ -32,8 +32,10 @@ public final class ViashinoShanktail extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Bloodrush - 2{R}, Discard Viashino Shanktail: Target attacking creature gets +3/+1 and gains first strike until end of turn.
- Ability ability = new BloodrushAbility("{2}{R}", new BoostTargetEffect(3,1, Duration.EndOfTurn));
- ability.addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn));
+ Ability ability = new BloodrushAbility("{2}{R}", new BoostTargetEffect(3,1, Duration.EndOfTurn)
+ .setText("target attacking creature gets +3/+1"));
+ ability.addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)
+ .setText("and gains first strike until end of turn"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/w/WastelandViper.java b/Mage.Sets/src/mage/cards/w/WastelandViper.java
index b2d73ff7964..6ba7f9d4476 100644
--- a/Mage.Sets/src/mage/cards/w/WastelandViper.java
+++ b/Mage.Sets/src/mage/cards/w/WastelandViper.java
@@ -30,8 +30,10 @@ public final class WastelandViper extends CardImpl {
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// Bloodrush - {G}, Discard Wasteland Viper: Target attacking creature gets +1/+2 and gains deathtouch until end of turn.
- Ability ability = new BloodrushAbility("{G}", new BoostTargetEffect(1, 2, Duration.EndOfTurn));
- ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn));
+ Ability ability = new BloodrushAbility("{G}", new BoostTargetEffect(1, 2, Duration.EndOfTurn)
+ .setText("target attacking creature gets +1/+2"));
+ ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn)
+ .setText("and gains deathtouch until end of turn"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/w/Wellwisher.java b/Mage.Sets/src/mage/cards/w/Wellwisher.java
index acb3804ad84..c70ec7d283b 100644
--- a/Mage.Sets/src/mage/cards/w/Wellwisher.java
+++ b/Mage.Sets/src/mage/cards/w/Wellwisher.java
@@ -34,7 +34,8 @@ public final class Wellwisher extends CardImpl {
this.toughness = new MageInt(1);
// {tap}: You gain 1 life for each Elf on the battlefield.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(new PermanentsOnBattlefieldCount(filter)), new TapSourceCost()));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(new PermanentsOnBattlefieldCount(filter))
+ .setText("you gain 1 life for each Elf on the battlefield"), new TapSourceCost()));
}
diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
index 5112f8810e3..34527c86c77 100644
--- a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
+++ b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
@@ -210,6 +210,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|| ruleLow.startsWith("exile")
|| ruleLow.startsWith("gain")
|| ruleLow.startsWith("goad")
+ || ruleLow.startsWith("prevent")
|| ruleLow.startsWith("put")
|| ruleLow.startsWith("remove")
|| ruleLow.startsWith("return")
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java
index d1e7664f8fc..aa174fd5f59 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java
@@ -46,7 +46,8 @@ public class PopulateEffect extends OneShotEffect {
public PopulateEffect(String prefixText) {
this(false);
- this.staticText = (!prefixText.isEmpty() ? prefixText + " p" : "P") + "opulate (Create a token that's a copy of a creature token you control.)";
+ this.staticText = (!prefixText.isEmpty() ? ", " + prefixText + " " : "")
+ + "populate. (Create a token that's a copy of a creature token you control.)";
}
public PopulateEffect(boolean tappedAndAttacking) {