mirror of
https://github.com/magefree/mage.git
synced 2026-01-24 04:09:54 -08:00
[ECL] Implement Ajani, Outland Chaperone
This commit is contained in:
parent
920fde5c46
commit
6e3f83246e
2 changed files with 70 additions and 0 deletions
68
Mage.Sets/src/mage/cards/a/AjaniOutlandChaperone.java
Normal file
68
Mage.Sets/src/mage/cards/a/AjaniOutlandChaperone.java
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.dynamicvalue.common.ControllerLifeCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.common.FilterNonlandCard;
|
||||
import mage.filter.predicate.mageobject.ManaValuePredicate;
|
||||
import mage.filter.predicate.mageobject.PermanentPredicate;
|
||||
import mage.filter.predicate.permanent.TappedPredicate;
|
||||
import mage.game.permanent.token.KithkinGreenWhiteToken;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class AjaniOutlandChaperone extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter = new FilterCreaturePermanent("tapped creature");
|
||||
private static final FilterCard filter2 = new FilterNonlandCard("nonland permanent cards with mana value 3 or less");
|
||||
|
||||
static {
|
||||
filter.add(TappedPredicate.TAPPED);
|
||||
filter2.add(PermanentPredicate.instance);
|
||||
filter2.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 4));
|
||||
}
|
||||
|
||||
public AjaniOutlandChaperone(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{W}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.AJANI);
|
||||
this.setStartingLoyalty(3);
|
||||
|
||||
// +1: Create a 1/1 green and white Kithkin creature token.
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new KithkinGreenWhiteToken()), 1));
|
||||
|
||||
// -2: Ajani deals 4 damage to target tapped creature.
|
||||
Ability ability = new LoyaltyAbility(new DamageTargetEffect(4), -2);
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
||||
// -8: Look at the top X cards of your library, where X is your life total. You may put any number of nonland permanent cards with mana value 3 or less from among them onto the battlefield. Then shuffle.
|
||||
this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect(
|
||||
ControllerLifeCount.instance, Integer.MAX_VALUE,
|
||||
filter2, PutCards.BATTLEFIELD, PutCards.SHUFFLE
|
||||
), -8));
|
||||
}
|
||||
|
||||
private AjaniOutlandChaperone(final AjaniOutlandChaperone card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaniOutlandChaperone copy() {
|
||||
return new AjaniOutlandChaperone(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,8 @@ public final class LorwynEclipsed extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Abigale, Eloquent First-Year", 368, Rarity.RARE, mage.cards.a.AbigaleEloquentFirstYear.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Adept Watershaper", 297, Rarity.RARE, mage.cards.a.AdeptWatershaper.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Adept Watershaper", 3, Rarity.RARE, mage.cards.a.AdeptWatershaper.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ajani, Outland Chaperone", 284, Rarity.MYTHIC, mage.cards.a.AjaniOutlandChaperone.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ajani, Outland Chaperone", 4, Rarity.MYTHIC, mage.cards.a.AjaniOutlandChaperone.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Appeal to Eirdu", 5, Rarity.COMMON, mage.cards.a.AppealToEirdu.class));
|
||||
cards.add(new SetCardInfo("Aquitect's Defenses", 44, Rarity.COMMON, mage.cards.a.AquitectsDefenses.class));
|
||||
cards.add(new SetCardInfo("Ashling's Command", 205, Rarity.RARE, mage.cards.a.AshlingsCommand.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue