mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
more text fixes
This commit is contained in:
parent
18a050fb70
commit
49d65c1a88
51 changed files with 60 additions and 70 deletions
|
|
@ -28,7 +28,7 @@ import mage.target.common.TargetControlledPermanent;
|
||||||
*/
|
*/
|
||||||
public final class AngelicFavor extends CardImpl {
|
public final class AngelicFavor extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("If you control a Plains");
|
private static final FilterPermanent filter = new FilterPermanent("you control a Plains");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SubType.PLAINS.getPredicate());
|
filter.add(SubType.PLAINS.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ enum OpponentSearchesLibCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent searched their library this turn";
|
return "an opponent searched their library this turn";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,6 @@ enum ArrowVolleyTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If four or more creatures are attacking";
|
return "four or more creatures are attacking";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,6 @@ enum BalothCageTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent had an artifact enter the battlefield under their control this turn";
|
return "an opponent had an artifact enter the battlefield under their control this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public final class BlasphemousEdict extends CardImpl {
|
||||||
|
|
||||||
// You may pay {B} rather than pay this spell's mana cost if there are thirteen or more creatures on the battlefield.
|
// You may pay {B} rather than pay this spell's mana cost if there are thirteen or more creatures on the battlefield.
|
||||||
Ability ability = new AlternativeCostSourceAbility(new ManaCostsImpl<>("{B}"), new PermanentsOnTheBattlefieldCondition(
|
Ability ability = new AlternativeCostSourceAbility(new ManaCostsImpl<>("{B}"), new PermanentsOnTheBattlefieldCondition(
|
||||||
new FilterCreaturePermanent("If there are thirteen or more creatures on the battlefield"),
|
new FilterCreaturePermanent("there are thirteen or more creatures on the battlefield"),
|
||||||
ComparisonType.OR_GREATER,
|
ComparisonType.OR_GREATER,
|
||||||
13,
|
13,
|
||||||
false
|
false
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public final class ChoArrimLegate extends CardImpl {
|
||||||
this.addAbility(ProtectionAbility.from(ObjectColor.BLACK));
|
this.addAbility(ProtectionAbility.from(ObjectColor.BLACK));
|
||||||
|
|
||||||
// If an opponent controls a Swamp and you control a Plains, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Swamp and you control a Plains, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Swamp and you control a Plains",
|
Condition condition = new CompoundCondition("an opponent controls a Swamp and you control a Plains",
|
||||||
new OpponentControlsPermanentCondition(filterSwamp),
|
new OpponentControlsPermanentCondition(filterSwamp),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterPlains));
|
new PermanentsOnTheBattlefieldCondition(filterPlains));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ enum CobraTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled";
|
return "a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
|
|
@ -13,7 +12,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
@ -23,7 +21,7 @@ import java.util.UUID;
|
||||||
public final class DarkTriumph extends CardImpl {
|
public final class DarkTriumph extends CardImpl {
|
||||||
|
|
||||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(
|
||||||
new FilterPermanent(SubType.SWAMP, "If you control a Swamp")
|
new FilterPermanent(SubType.SWAMP, "you control a Swamp")
|
||||||
);
|
);
|
||||||
|
|
||||||
public DarkTriumph(UUID ownerId, CardSetInfo setInfo) {
|
public DarkTriumph(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public final class DeepwoodLegate extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// If an opponent controls a Forest and you control a Swamp, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Forest and you control a Swamp, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Forest and you control a Swamp",
|
Condition condition = new CompoundCondition("an opponent controls a Forest and you control a Swamp",
|
||||||
new OpponentControlsPermanentCondition(filterForest),
|
new OpponentControlsPermanentCondition(filterForest),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterSwamp));
|
new PermanentsOnTheBattlefieldCondition(filterSwamp));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class EternalScourge extends CardImpl {
|
||||||
|
|
||||||
// When Eternal Scourge becomes the target of a spell or ability an opponent controls, exile Eternal Scourge.
|
// When Eternal Scourge becomes the target of a spell or ability an opponent controls, exile Eternal Scourge.
|
||||||
this.addAbility(new BecomesTargetSourceTriggeredAbility(new ExileSourceEffect(),
|
this.addAbility(new BecomesTargetSourceTriggeredAbility(new ExileSourceEffect(),
|
||||||
StaticFilters.FILTER_SPELL_OR_ABILITY_OPPONENTS));
|
StaticFilters.FILTER_SPELL_OR_ABILITY_OPPONENTS).withRuleTextReplacement(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private EternalScourge(final EternalScourge card) {
|
private EternalScourge(final EternalScourge card) {
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ enum InfernoTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If you've been dealt damage by two or more creatures this turn";
|
return "you've been dealt damage by two or more creatures this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class KyrenLegate extends CardImpl {
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
|
|
||||||
// If an opponent controls a Plains and you control a Mountain, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Plains and you control a Mountain, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Plains and you control a Mountain",
|
Condition condition = new CompoundCondition("an opponent controls a Plains and you control a Mountain",
|
||||||
new OpponentControlsPermanentCondition(filterPlains),
|
new OpponentControlsPermanentCondition(filterPlains),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterMountain));
|
new PermanentsOnTheBattlefieldCondition(filterMountain));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ import mage.target.common.TargetControlledPermanent;
|
||||||
*/
|
*/
|
||||||
public final class Lashknife extends CardImpl {
|
public final class Lashknife extends CardImpl {
|
||||||
|
|
||||||
private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("If you control a Plains");
|
private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("you control a Plains");
|
||||||
private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control");
|
private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,6 @@ enum LavaballTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent had two or more lands enter the battlefield under their control this turn";
|
return "an opponent had two or more lands enter the battlefield under their control this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,6 @@ enum LethargyTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If three or more creatures are attacking";
|
return "three or more creatures are attacking";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class Massacre extends CardImpl {
|
||||||
|
|
||||||
|
|
||||||
// If an opponent controls a Plains and you control a Swamp, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Plains and you control a Swamp, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Plains and you control a Swamp",
|
Condition condition = new CompoundCondition("an opponent controls a Plains and you control a Swamp",
|
||||||
new OpponentControlsPermanentCondition(filterPlains),
|
new OpponentControlsPermanentCondition(filterPlains),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterSwamp));
|
new PermanentsOnTheBattlefieldCondition(filterSwamp));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.m;
|
package mage.cards.m;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.costs.AlternativeCostSourceAbility;
|
import mage.abilities.costs.AlternativeCostSourceAbility;
|
||||||
|
|
@ -24,7 +20,10 @@ import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetCardInHand;
|
import mage.target.common.TargetCardInHand;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -32,7 +31,7 @@ import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
*/
|
*/
|
||||||
public final class MindSwords extends CardImpl {
|
public final class MindSwords extends CardImpl {
|
||||||
|
|
||||||
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp");
|
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filterSwamp.add(SubType.SWAMP.getPredicate());
|
filterSwamp.add(SubType.SWAMP.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ enum MindbreakTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent cast three or more spells this turn";
|
return "an opponent cast three or more spells this turn";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class MoggSalvage extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
|
||||||
|
|
||||||
// If an opponent controls an Island and you control a Mountain, you may cast this spell without paying its mana cost.
|
// If an opponent controls an Island and you control a Mountain, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls an Island and you control a Mountain",
|
Condition condition = new CompoundCondition("an opponent controls an Island and you control a Mountain",
|
||||||
new OpponentControlsPermanentCondition(filterIsland),
|
new OpponentControlsPermanentCondition(filterIsland),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterMountain));
|
new PermanentsOnTheBattlefieldCondition(filterMountain));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,6 @@ enum NeedlebiteTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent gained life this turn";
|
return "an opponent gained life this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ import java.util.UUID;
|
||||||
*/
|
*/
|
||||||
public final class NemesisTrap extends CardImpl {
|
public final class NemesisTrap extends CardImpl {
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("If a white creature is attacking");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a white creature is attacking");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new ColorPredicate(ObjectColor.WHITE));
|
filter.add(new ColorPredicate(ObjectColor.WHITE));
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ import mage.target.common.TargetAnyTarget;
|
||||||
*/
|
*/
|
||||||
public final class OrimsCure extends CardImpl {
|
public final class OrimsCure extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("If you control a Plains");
|
private static final FilterPermanent filter = new FilterPermanent("you control a Plains");
|
||||||
private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control");
|
private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.p;
|
package mage.cards.p;
|
||||||
|
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
|
|
@ -29,9 +28,8 @@ public final class PatriciansScorn extends CardImpl {
|
||||||
public PatriciansScorn(UUID ownerId, CardSetInfo setInfo) {
|
public PatriciansScorn(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}");
|
||||||
|
|
||||||
|
|
||||||
// If you've cast another white spell this turn, you may cast this spell without paying its mana cost.
|
// If you've cast another white spell this turn, you may cast this spell without paying its mana cost.
|
||||||
this.addAbility(new AlternativeCostSourceAbility(new CastWhiteSpellThisTurnCondition()), new PatriciansScornWatcher());
|
this.addAbility(new AlternativeCostSourceAbility(PatriciansScornCondition.instance), new PatriciansScornWatcher());
|
||||||
// Destroy all enchantments.
|
// Destroy all enchantments.
|
||||||
this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_ENCHANTMENTS));
|
this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_ENCHANTMENTS));
|
||||||
}
|
}
|
||||||
|
|
@ -46,8 +44,8 @@ public final class PatriciansScorn extends CardImpl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum PatriciansScornCondition implements Condition {
|
||||||
class CastWhiteSpellThisTurnCondition implements Condition {
|
instance;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
|
|
@ -60,7 +58,7 @@ class CastWhiteSpellThisTurnCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If you've cast another white spell this turn";
|
return "you've cast another white spell this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,6 @@ enum PermafrostTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent had a green creature enter the battlefield under their control this turn";
|
return "an opponent had a green creature enter the battlefield under their control this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,6 @@ enum PitfallTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If exactly one creature is attacking";
|
return "exactly one creature is attacking";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public final class ProteanRaider extends CardImpl {
|
||||||
|
|
||||||
// <i>Raid</i> — If you attacked with a creature this turn, you may have Protean Raider enter the battlefield as a copy of any creature on the battlefield.
|
// <i>Raid</i> — If you attacked with a creature this turn, you may have Protean Raider enter the battlefield as a copy of any creature on the battlefield.
|
||||||
Ability ability = new EntersBattlefieldAbility(new CopyPermanentEffect(), true, RaidCondition.instance,
|
Ability ability = new EntersBattlefieldAbility(new CopyPermanentEffect(), true, RaidCondition.instance,
|
||||||
"<i>Raid</i> — If you attacked this turn, you may have {this} enter the battlefield as a copy of any creature on the battlefield.", "");
|
"If you attacked this turn, you may have {this} enter the battlefield as a copy of any creature on the battlefield.", "");
|
||||||
ability.setAbilityWord(AbilityWord.RAID);
|
ability.setAbilityWord(AbilityWord.RAID);
|
||||||
ability.addHint(RaidHint.instance);
|
ability.addHint(RaidHint.instance);
|
||||||
this.addAbility(ability, new PlayerAttackedWatcher());
|
this.addAbility(ability, new PlayerAttackedWatcher());
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ import mage.target.common.TargetControlledPermanent;
|
||||||
*/
|
*/
|
||||||
public final class RamosianRally extends CardImpl {
|
public final class RamosianRally extends CardImpl {
|
||||||
|
|
||||||
private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("If you control a Plains");
|
private static final FilterControlledPermanent plainsFilter = new FilterControlledPermanent("you control a Plains");
|
||||||
private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control");
|
private static final FilterControlledCreaturePermanent creatureFilter = new FilterControlledCreaturePermanent("an untapped creature you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,6 @@ enum RavenousTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent had three or more cards put into their graveyard from anywhere this turn";
|
return "an opponent had three or more cards put into their graveyard from anywhere this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ enum RefractionTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent cast a red instant or sorcery spell this turn";
|
return "an opponent cast a red instant or sorcery spell this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class RefreshingRain extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{G}");
|
||||||
|
|
||||||
// If an opponent controls a Swamp and you control a Forest, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Swamp and you control a Forest, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Swamp and you control a Forest",
|
Condition condition = new CompoundCondition("an opponent controls a Swamp and you control a Forest",
|
||||||
new OpponentControlsPermanentCondition(filterSwamp),
|
new OpponentControlsPermanentCondition(filterSwamp),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterForest));
|
new PermanentsOnTheBattlefieldCondition(filterForest));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ import mage.filter.common.FilterEnchantmentPermanent;
|
||||||
*/
|
*/
|
||||||
public final class ReverentSilence extends CardImpl {
|
public final class ReverentSilence extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("If you control a Forest");
|
private static final FilterPermanent filter = new FilterPermanent("you control a Forest");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SubType.FOREST.getPredicate());
|
filter.add(SubType.FOREST.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,6 @@ enum RicochetTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent cast a blue spell this turn";
|
return "an opponent cast a blue spell this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class RiggingRunner extends CardImpl {
|
||||||
// Raid — Rigging Runner enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
// Raid — Rigging Runner enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
||||||
RaidCondition.instance,
|
RaidCondition.instance,
|
||||||
"<i>Raid</i> — {this} enters with a +1/+1 counter on it if you attacked this turn.",
|
"{this} enters with a +1/+1 counter on it if you attacked this turn.",
|
||||||
"{this} enters with a +1/+1 counter")
|
"{this} enters with a +1/+1 counter")
|
||||||
.setAbilityWord(AbilityWord.RAID)
|
.setAbilityWord(AbilityWord.RAID)
|
||||||
.addHint(RaidHint.instance),
|
.addHint(RaidHint.instance),
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import mage.target.common.TargetCreaturePermanent;
|
||||||
*/
|
*/
|
||||||
public final class Rouse extends CardImpl {
|
public final class Rouse extends CardImpl {
|
||||||
|
|
||||||
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp");
|
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filterSwamp.add(SubType.SWAMP.getPredicate());
|
filterSwamp.add(SubType.SWAMP.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,6 @@ enum RuneflareTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent drew three or more cards this turn";
|
return "an opponent drew three or more cards this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class RushwoodLegate extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// If an opponent controls an Island and you control a Forest, you may cast this spell without paying its mana cost.
|
// If an opponent controls an Island and you control a Forest, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls an Island and you control a Forest",
|
Condition condition = new CompoundCondition("an opponent controls an Island and you control a Forest",
|
||||||
new OpponentControlsPermanentCondition(filterIsland),
|
new OpponentControlsPermanentCondition(filterIsland),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterForest));
|
new PermanentsOnTheBattlefieldCondition(filterForest));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class SaprazzanLegate extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// If an opponent controls a Mountain and you control an Island, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Mountain and you control an Island, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Mountain and you control an Island",
|
Condition condition = new CompoundCondition("an opponent controls a Mountain and you control an Island",
|
||||||
new OpponentControlsPermanentCondition(filterMountain),
|
new OpponentControlsPermanentCondition(filterMountain),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterIsland));
|
new PermanentsOnTheBattlefieldCondition(filterIsland));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public final class SivvisRuse extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}{W}");
|
||||||
|
|
||||||
// If an opponent controls a Mountain and you control a Plains, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Mountain and you control a Plains, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Mountain and you control a Plains",
|
Condition condition = new CompoundCondition("an opponent controls a Mountain and you control a Plains",
|
||||||
new OpponentControlsPermanentCondition(filterMountain),
|
new OpponentControlsPermanentCondition(filterMountain),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterPlains));
|
new PermanentsOnTheBattlefieldCondition(filterPlains));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ import mage.target.common.TargetCreaturePermanent;
|
||||||
*/
|
*/
|
||||||
public final class SivvisValor extends CardImpl {
|
public final class SivvisValor extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("If you control a Plains");
|
private static final FilterPermanent filter = new FilterPermanent("you control a Plains");
|
||||||
private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control");
|
private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ import mage.filter.FilterPermanent;
|
||||||
*/
|
*/
|
||||||
public final class SkyshroudCutter extends CardImpl {
|
public final class SkyshroudCutter extends CardImpl {
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterPermanent("If you control a Forest");
|
private static final FilterPermanent filter = new FilterPermanent("you control a Forest");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SubType.FOREST.getPredicate());
|
filter.add(SubType.FOREST.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,6 @@ enum SlingbowTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If a black creature with flying is attacking";
|
return "a black creature with flying is attacking";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,8 @@ 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.SubType;
|
||||||
import mage.filter.StaticFilters;
|
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
@ -23,7 +21,7 @@ import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK;
|
||||||
*/
|
*/
|
||||||
public final class SnuffOut extends CardImpl {
|
public final class SnuffOut extends CardImpl {
|
||||||
|
|
||||||
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("If you control a Swamp");
|
private static final FilterLandPermanent filterSwamp = new FilterLandPermanent("you control a Swamp");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filterSwamp.add(SubType.SWAMP.getPredicate());
|
filterSwamp.add(SubType.SWAMP.getPredicate());
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public final class StormFleetAerialist extends CardImpl {
|
||||||
// Raid - Storm Fleet Aerialist enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
// Raid - Storm Fleet Aerialist enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
||||||
RaidCondition.instance,
|
RaidCondition.instance,
|
||||||
"<i>Raid</i> — {this} enters with a +1/+1 counter on it if you attacked this turn.",
|
"{this} enters with a +1/+1 counter on it if you attacked this turn.",
|
||||||
"{this} enters with a +1/+1 counter")
|
"{this} enters with a +1/+1 counter")
|
||||||
.setAbilityWord(AbilityWord.RAID)
|
.setAbilityWord(AbilityWord.RAID)
|
||||||
.addHint(RaidHint.instance),
|
.addHint(RaidHint.instance),
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public final class Submerge extends CardImpl {
|
||||||
|
|
||||||
|
|
||||||
// If an opponent controls a Forest and you control an Island, you may cast this spell without paying its mana cost.
|
// If an opponent controls a Forest and you control an Island, you may cast this spell without paying its mana cost.
|
||||||
Condition condition = new CompoundCondition("If an opponent controls a Forest and you control an Island",
|
Condition condition = new CompoundCondition("an opponent controls a Forest and you control an Island",
|
||||||
new OpponentControlsPermanentCondition(filterForest),
|
new OpponentControlsPermanentCondition(filterForest),
|
||||||
new PermanentsOnTheBattlefieldCondition(filterIsland));
|
new PermanentsOnTheBattlefieldCondition(filterIsland));
|
||||||
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
this.addAbility(new AlternativeCostSourceAbility(null, condition));
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ public final class SummonGFCerberus extends CardImpl {
|
||||||
// III -- Triple -- When you next cast an instant or sorcery spell this turn, copy it twice. You may choose new targets for the copies.
|
// III -- Triple -- When you next cast an instant or sorcery spell this turn, copy it twice. You may choose new targets for the copies.
|
||||||
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, ability -> {
|
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, ability -> {
|
||||||
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new CopyNextSpellDelayedTriggeredAbility(
|
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new CopyNextSpellDelayedTriggeredAbility(
|
||||||
StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY, 2
|
StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, 2
|
||||||
)));
|
)));
|
||||||
ability.withFlavorWord("Triple");
|
ability.withFlavorWord("Triple");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ enum SummoningTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If a creature spell you cast this turn was countered by a spell or ability an opponent controlled";
|
return "a creature spell you cast this turn was countered by a spell or ability an opponent controlled";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public final class SwaggeringCorsair extends CardImpl {
|
||||||
this.addAbility(new EntersBattlefieldAbility(
|
this.addAbility(new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||||
RaidCondition.instance,
|
RaidCondition.instance,
|
||||||
"<i>Raid</i> — {this} enters with a +1/+1 counter on it if you attacked this turn.", "")
|
"{this} enters with a +1/+1 counter on it if you attacked this turn.", "")
|
||||||
.setAbilityWord(AbilityWord.RAID)
|
.setAbilityWord(AbilityWord.RAID)
|
||||||
.addHint(RaidHint.instance),
|
.addHint(RaidHint.instance),
|
||||||
new PlayerAttackedWatcher());
|
new PlayerAttackedWatcher());
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,8 @@ public final class UnderworldCerberus extends CardImpl {
|
||||||
|
|
||||||
// When Underworld Cerberus dies, exile it and each player returns all creature cards from their graveyard to their hand.
|
// When Underworld Cerberus dies, exile it and each player returns all creature cards from their graveyard to their hand.
|
||||||
Ability ability = new DiesSourceTriggeredAbility(new ExileSourceEffect());
|
Ability ability = new DiesSourceTriggeredAbility(new ExileSourceEffect());
|
||||||
ability.addEffect(new ReturnToHandFromGraveyardAllEffect(new FilterCreatureCard("creature cards")));
|
ability.addEffect(new ReturnToHandFromGraveyardAllEffect(new FilterCreatureCard("creature cards"))
|
||||||
|
.concatBy("and"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public final class WarNameAspirant extends CardImpl {
|
||||||
// <i>Raid</i> — War-Name Aspirant enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
// <i>Raid</i> — War-Name Aspirant enters the battlefield with a +1/+1 counter on it if you attacked this turn.
|
||||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1), false),
|
||||||
RaidCondition.instance,
|
RaidCondition.instance,
|
||||||
"<i>Raid</i> — {this} enters with a +1/+1 counter on it if you attacked this turn.",
|
"{this} enters with a +1/+1 counter on it if you attacked this turn.",
|
||||||
"{this} enters with a +1/+1 counter")
|
"{this} enters with a +1/+1 counter")
|
||||||
.setAbilityWord(AbilityWord.RAID)
|
.setAbilityWord(AbilityWord.RAID)
|
||||||
.addHint(RaidHint.instance),
|
.addHint(RaidHint.instance),
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,6 @@ enum WhiplashTrapCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "If an opponent had two or more creatures enter the battlefield under their control this turn";
|
return "an opponent had two or more creatures enter the battlefield under their control this turn";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -284,7 +284,8 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter
|
||||||
}
|
}
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (condition != null) {
|
if (condition != null) {
|
||||||
sb.append(condition.toString());
|
sb.append("if ");
|
||||||
|
sb.append(condition);
|
||||||
if (alternateCosts.size() > 1) {
|
if (alternateCosts.size() > 1) {
|
||||||
sb.append(", rather than pay this spell's mana cost, ");
|
sb.append(", rather than pay this spell's mana cost, ");
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -293,8 +294,6 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter
|
||||||
} else {
|
} else {
|
||||||
sb.append("You may ");
|
sb.append("You may ");
|
||||||
}
|
}
|
||||||
int numberCosts = 0;
|
|
||||||
String remarkText = "";
|
|
||||||
sb.append(CardUtil.concatWithAnd(alternateCosts
|
sb.append(CardUtil.concatWithAnd(alternateCosts
|
||||||
.stream()
|
.stream()
|
||||||
.map(cost -> cost.getCost() instanceof ManaCost
|
.map(cost -> cost.getCost() instanceof ManaCost
|
||||||
|
|
@ -308,9 +307,6 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter
|
||||||
sb.append("cast this spell without paying its mana cost");
|
sb.append("cast this spell without paying its mana cost");
|
||||||
}
|
}
|
||||||
sb.append('.');
|
sb.append('.');
|
||||||
if (numberCosts == 1 && remarkText != null) {
|
|
||||||
sb.append(' ').append(remarkText);
|
|
||||||
}
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue