[RFR] Correction of the text of some cards (#6602)

* Fix some cards

* Fix Clot Sliver

* Fix WarrenScourgeElf

* Fix Olivia Voldaren

* Fix Domri Rade Emblem

* Fix Broken Ambitions Missing text

Co-authored-by: Thomas ARBLAY <thomas.arblay@smile.fr>
This commit is contained in:
Thomas ARBLAY 2020-06-17 16:58:35 +02:00 committed by GitHub
parent 055458e9a8
commit 2f68db7086
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 53 additions and 28 deletions

View file

@ -45,18 +45,21 @@ public final class BrokenAmbitions extends CardImpl {
class BrokenAmbitionsEffect extends OneShotEffect { class BrokenAmbitionsEffect extends OneShotEffect {
private static final String effectText = "Counter target spell unless its controller pays {X}. Clash with an opponent. If you win, that spell's controller puts the top four cards of their library into their graveyard";
protected Cost cost; protected Cost cost;
protected DynamicValue genericMana; protected DynamicValue genericMana;
public BrokenAmbitionsEffect(Cost cost) { public BrokenAmbitionsEffect(Cost cost) {
super(Outcome.Benefit); super(Outcome.Benefit);
this.cost = cost; this.cost = cost;
this.staticText = "Counter target spell unless its controller pays {X}. Clash with an opponent. If you win, that spell's controller mills four cards"; this.staticText = effectText;
} }
public BrokenAmbitionsEffect(DynamicValue genericMana) { public BrokenAmbitionsEffect(DynamicValue genericMana) {
super(Outcome.Detriment); super(Outcome.Detriment);
this.genericMana = genericMana; this.genericMana = genericMana;
this.staticText = effectText;
} }
public BrokenAmbitionsEffect(final BrokenAmbitionsEffect effect) { public BrokenAmbitionsEffect(final BrokenAmbitionsEffect effect) {
@ -67,6 +70,7 @@ class BrokenAmbitionsEffect extends OneShotEffect {
if (effect.genericMana != null) { if (effect.genericMana != null) {
this.genericMana = effect.genericMana.copy(); this.genericMana = effect.genericMana.copy();
} }
this.staticText = effectText;
} }
@Override @Override

View file

@ -1,7 +1,6 @@
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -16,6 +15,8 @@ import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import java.util.UUID;
/** /**
* @author Loki * @author Loki
*/ */
@ -33,7 +34,7 @@ public final class ClotSliver extends CardImpl {
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new GenericManaCost(2)), Duration.WhileOnBattlefield, filter, false))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect("this permanent"), new GenericManaCost(2)), Duration.WhileOnBattlefield, filter, false)));
} }
public ClotSliver(final ClotSliver card) { public ClotSliver(final ClotSliver card) {

View file

@ -28,9 +28,10 @@ public final class HoldTheGates extends CardImpl {
// Creatures you control get +0/+1 for each Gate you control and have vigilance. // Creatures you control get +0/+1 for each Gate you control and have vigilance.
Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD,
new BoostControlledEffect(StaticValue.get(0), GateYouControlCount.instance, Duration.WhileOnBattlefield)); new BoostControlledEffect(StaticValue.get(0), GateYouControlCount.instance, Duration.WhileOnBattlefield)
.setText("Creatures you control get +0/+1 for each Gate you control "));
ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures")) ability.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Creatures"))
.setText("Creatures you control get +0/+1 for each Gate you control and have vigilance")); .setText("and have vigilance"));
ability.addHint(GateYouControlHint.instance); ability.addHint(GateYouControlHint.instance);
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -95,7 +95,7 @@ class IlhargTheRazeBoarEffect extends OneShotEffect {
} }
game.getCombat().addAttackingCreature(permanent.getId(), game); game.getCombat().addAttackingCreature(permanent.getId(), game);
Effect effect = new ReturnToHandTargetEffect(); Effect effect = new ReturnToHandTargetEffect();
effect.setText("return {this} to its owner's hand"); effect.setText("return " + permanent.getName() + " to its owner's hand");
effect.setTargetPointer(new FixedTarget(permanent, game)); effect.setTargetPointer(new FixedTarget(permanent, game));
game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect), source); game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect), source);
return true; return true;

View file

@ -1,7 +1,6 @@
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.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -24,6 +23,8 @@ import mage.filter.predicate.mageobject.CardIdPredicate;
import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.AnotherPredicate;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author nantuko * @author nantuko
@ -55,7 +56,11 @@ public final class OliviaVoldaren extends CardImpl {
this.addAbility(FlyingAbility.getInstance()); this.addAbility(FlyingAbility.getInstance());
// {1}{R}: Olivia Voldaren deals 1 damage to another target creature. That creature becomes a Vampire in addition to its other types. Put a +1/+1 counter on Olivia Voldaren. // {1}{R}: Olivia Voldaren deals 1 damage to another target creature. That creature becomes a Vampire in addition to its other types. Put a +1/+1 counter on Olivia Voldaren.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}")); Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new DamageTargetEffect(1).setText("{this} deals 1 damage to another target creature"),
new ManaCostsImpl("{1}{R}")
);
ability.addTarget(new TargetCreaturePermanent(filter)); ability.addTarget(new TargetCreaturePermanent(filter));
Effect effect = new AddCardSubTypeTargetEffect(SubType.VAMPIRE, Duration.WhileOnBattlefield); Effect effect = new AddCardSubTypeTargetEffect(SubType.VAMPIRE, Duration.WhileOnBattlefield);
effect.setText("That creature becomes a Vampire in addition to its other types"); effect.setText("That creature becomes a Vampire in addition to its other types");

View file

@ -1,7 +1,6 @@
package mage.cards.s; package mage.cards.s;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility; import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
@ -10,12 +9,14 @@ import mage.abilities.keyword.TrampleAbility;
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.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType; import mage.constants.SuperType;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AbilityPredicate; import mage.filter.predicate.mageobject.AbilityPredicate;
import java.util.UUID;
/** /**
* *
* @author emerald000 * @author emerald000

View file

@ -1,7 +1,6 @@
package mage.cards.w; package mage.cards.w;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.keyword.ProtectionAbility; import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -10,13 +9,15 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.filter.FilterCard; import mage.filter.FilterCard;
import java.util.UUID;
/** /**
* *
* @author North * @author North
*/ */
public final class WarrenScourgeElf extends CardImpl { public final class WarrenScourgeElf extends CardImpl {
private static final FilterCard filter = new FilterCard("Goblin"); private static final FilterCard filter = new FilterCard("Goblins");
static { static {
filter.add(SubType.GOBLIN.getPredicate()); filter.add(SubType.GOBLIN.getPredicate());

View file

@ -2,10 +2,10 @@
package mage.abilities.effects.common; package mage.abilities.effects.common;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ReplacementEffectImpl;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.game.Game; import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
@ -21,6 +21,11 @@ public class RegenerateSourceEffect extends ReplacementEffectImpl {
staticText = "Regenerate {this}"; staticText = "Regenerate {this}";
} }
public RegenerateSourceEffect(String targetName) {
super(Duration.EndOfTurn, Outcome.Regenerate);
staticText = "Regenerate " + targetName;
}
public RegenerateSourceEffect(final RegenerateSourceEffect effect) { public RegenerateSourceEffect(final RegenerateSourceEffect effect) {
super(effect); super(effect);
} }

View file

@ -47,13 +47,21 @@ public class AddCardSubTypeTargetEffect extends ContinuousEffectImpl {
@Override @Override
public String getText(Mode mode) { public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if (!mode.getTargets().isEmpty()) { if (!mode.getTargets().isEmpty()) {
sb.append("Target ").append(mode.getTargets().get(0).getTargetName()); sb.append("Target ").append(mode.getTargets().get(0).getTargetName());
} else { } else {
sb.append("It "); sb.append("It ");
} }
sb.append(" becomes ").append(addedSubType).append(" in addition to its other types ").append(duration.toString()); if (addedSubType.toString().matches("(?i)^[AEIOUYaeiouy].*$")) {
sb.append(" becomes an ");
} else {
sb.append(" becomes a ");
}
sb.append(addedSubType).append(" in addition to its other types ").append(duration.toString());
return sb.toString(); return sb.toString();
} }
} }

View file

@ -1,7 +1,7 @@
package mage.game.command.emblems; package mage.game.command.emblems;
import mage.abilities.Ability; import mage.abilities.CompoundAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.DoubleStrikeAbility;
@ -22,16 +22,15 @@ public final class DomriRadeEmblem extends Emblem {
// "Creatures you control have double strike, trample, hexproof and haste." // "Creatures you control have double strike, trample, hexproof and haste."
public DomriRadeEmblem() { public DomriRadeEmblem() {
this.setName("Emblem Domri"); this.setName("Emblem Domri Rade");
FilterPermanent filter = new FilterControlledCreaturePermanent("Creatures"); FilterPermanent filter = new FilterControlledCreaturePermanent("Creatures");
GainAbilityControlledEffect effect = new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfGame, filter);
Ability ability = new SimpleStaticAbility(Zone.COMMAND, effect); CompoundAbility compoundAbilities = new CompoundAbility(
effect = new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfGame, filter); DoubleStrikeAbility.getInstance(),
ability.addEffect(effect); TrampleAbility.getInstance(),
effect = new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfGame, filter); HexproofAbility.getInstance(),
ability.addEffect(effect); HasteAbility.getInstance()
effect = new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfGame, filter); );
ability.addEffect(effect); this.getAbilities().add(new SimpleStaticAbility(Zone.COMMAND, new GainAbilityControlledEffect(compoundAbilities, Duration.EndOfGame, filter)));
this.getAbilities().add(ability);
} }
} }