mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[BLC] various text fixes
This commit is contained in:
parent
fe4d6d3197
commit
02b649f180
10 changed files with 39 additions and 64 deletions
|
|
@ -95,7 +95,7 @@ class CommunalBrewingCountersEffect extends ReplacementEffectImpl {
|
||||||
|
|
||||||
CommunalBrewingCountersEffect() {
|
CommunalBrewingCountersEffect() {
|
||||||
super(Duration.EndOfTurn, Outcome.BoostCreature);
|
super(Duration.EndOfTurn, Outcome.BoostCreature);
|
||||||
this.staticText = "that creature enters with X additional +1/+1 counters on it, where X is is the number of ingredient counters on {this}";
|
this.staticText = "that creature enters with X additional +1/+1 counters on it, where X is the number of ingredient counters on {this}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private CommunalBrewingCountersEffect(final CommunalBrewingCountersEffect effect) {
|
private CommunalBrewingCountersEffect(final CommunalBrewingCountersEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ class HelmOfTheHostEffect extends OneShotEffect {
|
||||||
|
|
||||||
HelmOfTheHostEffect() {
|
HelmOfTheHostEffect() {
|
||||||
super(Outcome.PutCreatureInPlay);
|
super(Outcome.PutCreatureInPlay);
|
||||||
this.staticText = "create a token that's a copy of equipped creature, except the token isn't legendary if equipped creature is legendary. That token gains haste.";
|
this.staticText = "create a token that's a copy of equipped creature, except the token isn't legendary. That token gains haste.";
|
||||||
}
|
}
|
||||||
|
|
||||||
private HelmOfTheHostEffect(final HelmOfTheHostEffect effect) {
|
private HelmOfTheHostEffect(final HelmOfTheHostEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,37 +1,40 @@
|
||||||
|
|
||||||
|
|
||||||
package mage.cards.o;
|
package mage.cards.o;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
|
||||||
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
import mage.abilities.common.EntersBattlefieldTappedAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
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.Outcome;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.Game;
|
import mage.filter.predicate.permanent.EnteredThisTurnPredicate;
|
||||||
import mage.game.permanent.Permanent;
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
public final class OranRiefTheVastwood extends CardImpl {
|
public final class OranRiefTheVastwood extends CardImpl {
|
||||||
|
|
||||||
|
private static final FilterPermanent filter = new FilterCreaturePermanent("green creature that entered this turn");
|
||||||
|
|
||||||
|
static {
|
||||||
|
filter.add(new ColorPredicate(ObjectColor.GREEN));
|
||||||
|
filter.add(EnteredThisTurnPredicate.instance);
|
||||||
|
}
|
||||||
|
|
||||||
public OranRiefTheVastwood(UUID ownerId, CardSetInfo setInfo) {
|
public OranRiefTheVastwood(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.LAND}, null);
|
super(ownerId, setInfo, new CardType[]{CardType.LAND}, null);
|
||||||
|
|
||||||
this.addAbility(new EntersBattlefieldTappedAbility());
|
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||||
this.addAbility(new GreenManaAbility());
|
this.addAbility(new GreenManaAbility());
|
||||||
this.addAbility(new SimpleActivatedAbility(new OranRiefTheVastwoodEffect(), new TapSourceCost()));
|
this.addAbility(new SimpleActivatedAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), new TapSourceCost()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private OranRiefTheVastwood(final OranRiefTheVastwood card) {
|
private OranRiefTheVastwood(final OranRiefTheVastwood card) {
|
||||||
|
|
@ -42,36 +45,4 @@ public final class OranRiefTheVastwood extends CardImpl {
|
||||||
public OranRiefTheVastwood copy() {
|
public OranRiefTheVastwood copy() {
|
||||||
return new OranRiefTheVastwood(this);
|
return new OranRiefTheVastwood(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
class OranRiefTheVastwoodEffect extends OneShotEffect {
|
|
||||||
|
|
||||||
OranRiefTheVastwoodEffect() {
|
|
||||||
super(Outcome.BoostCreature);
|
|
||||||
staticText = "Put a +1/+1 counter on each green creature that entered the battlefield this turn";
|
|
||||||
}
|
|
||||||
|
|
||||||
private OranRiefTheVastwoodEffect(final OranRiefTheVastwoodEffect effect) {
|
|
||||||
super(effect);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OranRiefTheVastwoodEffect copy() {
|
|
||||||
return new OranRiefTheVastwoodEffect(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean apply(Game game, Ability source) {
|
|
||||||
FilterPermanent filter = new FilterPermanent();
|
|
||||||
filter.add(CardType.CREATURE.getPredicate());
|
|
||||||
filter.add(new ColorPredicate(ObjectColor.GREEN));
|
|
||||||
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
|
||||||
if (permanent.getTurnsOnBattlefield() == 0) {
|
|
||||||
permanent.addCounters(CounterType.P1P1.createInstance(), source.getControllerId(), source, game);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package mage.cards.r;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldCastTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldCastTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
||||||
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||||
|
|
@ -44,14 +45,14 @@ public final class RapidAugmenter extends CardImpl {
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
|
|
||||||
// Whenever another creature you control with base power 1 enters, it gains haste until end of turn.
|
// Whenever another creature you control with base power 1 enters, it gains haste until end of turn.
|
||||||
Ability ability = new EntersBattlefieldControlledTriggeredAbility(
|
Ability ability = new EntersBattlefieldAllTriggeredAbility(
|
||||||
Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance()), filterBP1, false, SetTargetPointer.PERMANENT);
|
Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance()), filterBP1, false, SetTargetPointer.PERMANENT);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Whenever another creature you control enters, if it wasn't cast, put a +1/+1 counter on Rapid Augmenter
|
// Whenever another creature you control enters, if it wasn't cast, put a +1/+1 counter on Rapid Augmenter
|
||||||
// and Rapid Augmenter can't be blocked this turn.
|
// and Rapid Augmenter can't be blocked this turn.
|
||||||
Ability ability2 = new EntersBattlefieldCastTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(
|
Ability ability2 = new EntersBattlefieldCastTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(
|
||||||
CounterType.P1P1.createInstance()), StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL,
|
CounterType.P1P1.createInstance()), StaticFilters.FILTER_ANOTHER_CREATURE,
|
||||||
false, SetTargetPointer.PERMANENT, false);
|
false, SetTargetPointer.PERMANENT, false);
|
||||||
ability2.addEffect(new CantBeBlockedSourceEffect(Duration.EndOfTurn).concatBy("and"));
|
ability2.addEffect(new CantBeBlockedSourceEffect(Duration.EndOfTurn).concatBy("and"));
|
||||||
this.addAbility(ability2);
|
this.addAbility(ability2);
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ class SawInHalfEffect extends OneShotEffect {
|
||||||
SawInHalfEffect() {
|
SawInHalfEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "destroy target creature. If that creature dies this way, its controller creates " +
|
staticText = "destroy target creature. If that creature dies this way, its controller creates " +
|
||||||
"two tokens that are copies of that creature, except their base power is half that creature's " +
|
"two tokens that are copies of that creature, except their power is half that creature's " +
|
||||||
"power and their base toughness is half that creature's toughness. Round up each time";
|
"power and their toughness is half that creature's toughness. Round up each time";
|
||||||
}
|
}
|
||||||
|
|
||||||
private SawInHalfEffect(final SawInHalfEffect effect) {
|
private SawInHalfEffect(final SawInHalfEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
package mage.cards.t;
|
package mage.cards.t;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -13,8 +11,9 @@ import mage.game.permanent.token.RabbitToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author Grath
|
* @author Grath
|
||||||
*/
|
*/
|
||||||
public final class TemptWithBunnies extends CardImpl {
|
public final class TemptWithBunnies extends CardImpl {
|
||||||
|
|
@ -26,6 +25,7 @@ public final class TemptWithBunnies extends CardImpl {
|
||||||
// card and create a 1/1 white Rabbit creature token. For each opponent who does, you draw a card and you
|
// card and create a 1/1 white Rabbit creature token. For each opponent who does, you draw a card and you
|
||||||
// create a 1/1 white Rabbit creature token.
|
// create a 1/1 white Rabbit creature token.
|
||||||
this.getSpellAbility().addEffect(new TemptWithBunniesEffect());
|
this.getSpellAbility().addEffect(new TemptWithBunniesEffect());
|
||||||
|
this.getSpellAbility().withFlavorWord("Tempting Offer");
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemptWithBunnies(final TemptWithBunnies card) {
|
private TemptWithBunnies(final TemptWithBunnies card) {
|
||||||
|
|
@ -42,7 +42,7 @@ class TemptWithBunniesEffect extends OneShotEffect {
|
||||||
|
|
||||||
TemptWithBunniesEffect() {
|
TemptWithBunniesEffect() {
|
||||||
super(Outcome.PutLandInPlay);
|
super(Outcome.PutLandInPlay);
|
||||||
this.staticText = "<i>Tempting offer</i> — Draw a card and create a 1/1 white Rabbit creature token. Then each opponent may draw a card and create a 1/1 white Rabbit creature token. For each opponent who does, you draw a card and you create a 1/1 white Rabbit creature token.";
|
this.staticText = "draw a card and create a 1/1 white Rabbit creature token. Then each opponent may draw a card and create a 1/1 white Rabbit creature token. For each opponent who does, you draw a card and you create a 1/1 white Rabbit creature token.";
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemptWithBunniesEffect(final TemptWithBunniesEffect effect) {
|
private TemptWithBunniesEffect(final TemptWithBunniesEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@ package mage.cards.t;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility;
|
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.*;
|
import mage.abilities.effects.common.AttachEffect;
|
||||||
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
|
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||||
|
import mage.abilities.effects.common.SacrificeSourceEffect;
|
||||||
import mage.abilities.keyword.EnchantAbility;
|
import mage.abilities.keyword.EnchantAbility;
|
||||||
|
import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
|
|
@ -36,8 +39,8 @@ public class TenuousTruce extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of enchanted opponent’s end step, you and that player each draw a card.
|
// At the beginning of enchanted opponent’s end step, you and that player each draw a card.
|
||||||
Ability drawAbility = new BeginningOfEndStepTriggeredAbility(
|
Ability drawAbility = new BeginningOfEndStepTriggeredAbility(
|
||||||
TargetController.ENCHANTED, new DrawCardSourceControllerEffect(1).setText("you "),
|
TargetController.ENCHANTED, new DrawCardSourceControllerEffect(1).setText("you"), false
|
||||||
false);
|
).setTriggerPhrase("At the beginning of enchanted opponent's end step, ");
|
||||||
Effect enchantedPlayerDrawEffect = new DrawCardTargetEffect(1);
|
Effect enchantedPlayerDrawEffect = new DrawCardTargetEffect(1);
|
||||||
enchantedPlayerDrawEffect.concatBy("and").setText("that player each draw a card");
|
enchantedPlayerDrawEffect.concatBy("and").setText("that player each draw a card");
|
||||||
drawAbility.addEffect(enchantedPlayerDrawEffect);
|
drawAbility.addEffect(enchantedPlayerDrawEffect);
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ public class VerifyCardDataTest {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
||||||
|
|
||||||
private static final String FULL_ABILITIES_CHECK_SET_CODES = "BLB"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
private static final String FULL_ABILITIES_CHECK_SET_CODES = "BLC"; // check ability text due mtgjson, can use multiple sets like MAT;CMD or * for all
|
||||||
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
private static final boolean CHECK_ONLY_ABILITIES_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages
|
||||||
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance
|
private static final boolean CHECK_COPYABLE_FIELDS = true; // disable for better verify test performance
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public final class GarrukCursedHuntsmanToken extends TokenImpl {
|
||||||
= new FilterControlledPermanent(SubType.GARRUK, "Garruk you control");
|
= new FilterControlledPermanent(SubType.GARRUK, "Garruk you control");
|
||||||
|
|
||||||
public GarrukCursedHuntsmanToken() {
|
public GarrukCursedHuntsmanToken() {
|
||||||
super("Wolf Token", "2/2 black and green Wolf creature token with \"When this creature dies, put a loyalty counter on each Garruk you control.\"");
|
super("Wolf Token", "2/2 black and green Wolf creature token with \"When this token dies, put a loyalty counter on each Garruk you control.\"");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setBlack(true);
|
color.setBlack(true);
|
||||||
color.setGreen(true);
|
color.setGreen(true);
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import mage.constants.SubType;
|
||||||
public final class Pest11GainLifeToken extends TokenImpl {
|
public final class Pest11GainLifeToken extends TokenImpl {
|
||||||
|
|
||||||
public Pest11GainLifeToken() {
|
public Pest11GainLifeToken() {
|
||||||
super("Pest Token", "1/1 black and green Pest creature token with \"When this creature dies, you gain 1 life.\"");
|
super("Pest Token", "1/1 black and green Pest creature token with \"When this token dies, you gain 1 life.\"");
|
||||||
cardType.add(CardType.CREATURE);
|
cardType.add(CardType.CREATURE);
|
||||||
color.setBlack(true);
|
color.setBlack(true);
|
||||||
color.setGreen(true);
|
color.setGreen(true);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue