mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 12:02:01 -08:00
[OTC] Implement We Ride at Dawn
This commit is contained in:
parent
8ba277236f
commit
f8768ffa09
2 changed files with 61 additions and 0 deletions
60
Mage.Sets/src/mage/cards/w/WeRideAtDawn.java
Normal file
60
Mage.Sets/src/mage/cards/w/WeRideAtDawn.java
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
package mage.cards.w;
|
||||
|
||||
import mage.abilities.common.AttacksAllTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledSpellsEffect;
|
||||
import mage.abilities.keyword.ConvokeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SetTargetPointer;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.common.FilterNonlandCard;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
import mage.filter.predicate.mageobject.CommanderPredicate;
|
||||
import mage.game.permanent.token.MercenaryToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class WeRideAtDawn extends CardImpl {
|
||||
|
||||
private static final FilterNonlandCard filter = new FilterNonlandCard("legendary creature spells you cast");
|
||||
private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("your commander");
|
||||
|
||||
static {
|
||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||
filter.add(CardType.CREATURE.getPredicate());
|
||||
filter.add(Predicates.not(new AbilityPredicate(ConvokeAbility.class))); // So there are not redundant copies being added to each card
|
||||
filter2.add(CommanderPredicate.instance);
|
||||
filter2.add(TargetController.YOU.getOwnerPredicate());
|
||||
}
|
||||
|
||||
public WeRideAtDawn(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
||||
|
||||
// Legendary creature spells you cast have convoke.
|
||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledSpellsEffect(new ConvokeAbility(), filter)));
|
||||
|
||||
// Whenever your commander attacks, create a 1/1 red Mercenary creature token with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery."
|
||||
this.addAbility(new AttacksAllTriggeredAbility(
|
||||
new CreateTokenEffect(new MercenaryToken()), false,
|
||||
filter2, SetTargetPointer.NONE, false
|
||||
));
|
||||
}
|
||||
|
||||
private WeRideAtDawn(final WeRideAtDawn card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WeRideAtDawn copy() {
|
||||
return new WeRideAtDawn(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -307,6 +307,7 @@ public final class OutlawsOfThunderJunctionCommander extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Viridescent Bog", 340, Rarity.RARE, mage.cards.v.ViridescentBog.class));
|
||||
cards.add(new SetCardInfo("Void Attendant", 212, Rarity.UNCOMMON, mage.cards.v.VoidAttendant.class));
|
||||
cards.add(new SetCardInfo("Volcanic Torrent", 184, Rarity.UNCOMMON, mage.cards.v.VolcanicTorrent.class));
|
||||
cards.add(new SetCardInfo("We Ride at Dawn", 12, Rarity.RARE, mage.cards.w.WeRideAtDawn.class));
|
||||
cards.add(new SetCardInfo("Whirler Rogue", 122, Rarity.UNCOMMON, mage.cards.w.WhirlerRogue.class));
|
||||
cards.add(new SetCardInfo("Windfall", 123, Rarity.UNCOMMON, mage.cards.w.Windfall.class));
|
||||
cards.add(new SetCardInfo("Winding Way", 213, Rarity.COMMON, mage.cards.w.WindingWay.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue