[LCC] Implement Singer of Swift Rivers (#11502)

This commit is contained in:
arcox 2023-12-03 21:42:27 -05:00 committed by GitHub
parent d806a6a3be
commit b89df53f54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,63 @@
package mage.cards.s;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.abilities.keyword.FlashAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
/**
* @author
*/
public final class SingerOfSwiftRivers extends CardImpl {
private static final FilterCard filter = new FilterCard("Merfolk spells");
static {
filter.add(SubType.MERFOLK.getPredicate());
}
public SingerOfSwiftRivers(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}");
this.subtype.add(SubType.MERFOLK);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Flash
this.addAbility(FlashAbility.getInstance());
// When Singer of Swift Rivers enters the battlefield, put a shield counter on another target creature you control.
Ability ability = new EntersBattlefieldTriggeredAbility(
new AddCountersTargetEffect(CounterType.SHIELD.createInstance())
);
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
this.addAbility(ability);
// You may cast Merfolk spells as though they had flash.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter, false)));
}
private SingerOfSwiftRivers(final SingerOfSwiftRivers card) {
super(card);
}
@Override
public SingerOfSwiftRivers copy() {
return new SingerOfSwiftRivers(this);
}
}

View file

@ -233,6 +233,7 @@ public final class LostCavernsOfIxalanCommander extends ExpansionSet {
cards.add(new SetCardInfo("Simic Ascendancy", 288, Rarity.RARE, mage.cards.s.SimicAscendancy.class));
cards.add(new SetCardInfo("Simic Growth Chamber", 352, Rarity.COMMON, mage.cards.s.SimicGrowthChamber.class));
cards.add(new SetCardInfo("Simic Signet", 312, Rarity.UNCOMMON, mage.cards.s.SimicSignet.class));
cards.add(new SetCardInfo("Singer of Swift Rivers", 98, Rarity.RARE, mage.cards.s.SingerOfSwiftRivers.class));
cards.add(new SetCardInfo("Siren Stormtamer", 171, Rarity.UNCOMMON, mage.cards.s.SirenStormtamer.class));
cards.add(new SetCardInfo("Smoldering Marsh", 353, Rarity.RARE, mage.cards.s.SmolderingMarsh.class));
cards.add(new SetCardInfo("Sol Ring", 313, Rarity.UNCOMMON, mage.cards.s.SolRing.class));