mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[ECL] Implement Ashling, Rekindled / Ashling, Rimebound
This commit is contained in:
parent
6906072ec4
commit
a73c3ce553
3 changed files with 79 additions and 0 deletions
76
Mage.Sets/src/mage/cards/a/AshlingRekindled.java
Normal file
76
Mage.Sets/src/mage/cards/a/AshlingRekindled.java
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.abilities.common.TransformIntoSourceTriggeredAbility;
|
||||
import mage.abilities.common.TransformsOrEntersTriggeredAbility;
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.TransformSourceEffect;
|
||||
import mage.abilities.effects.mana.AddConditionalManaOfAnyColorEffect;
|
||||
import mage.abilities.mana.conditional.ConditionalSpellManaBuilder;
|
||||
import mage.abilities.meta.OrTriggeredAbility;
|
||||
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.TransformingDoubleFacedCard;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.mageobject.ManaValuePredicate;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class AshlingRekindled extends TransformingDoubleFacedCard {
|
||||
|
||||
private static final FilterSpell filter = new FilterSpell("spells with mana value 4 or greater");
|
||||
|
||||
static {
|
||||
filter.add(new ManaValuePredicate(ComparisonType.MORE_THAN, 3));
|
||||
}
|
||||
|
||||
public AshlingRekindled(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(
|
||||
ownerId, setInfo,
|
||||
new SuperType[]{SuperType.LEGENDARY}, new CardType[]{CardType.CREATURE}, new SubType[]{SubType.ELEMENTAL, SubType.SORCERER}, "{1}{R}",
|
||||
"Ashling, Rimebound",
|
||||
new SuperType[]{SuperType.LEGENDARY}, new CardType[]{CardType.CREATURE}, new SubType[]{SubType.ELEMENTAL, SubType.WIZARD}, "U"
|
||||
);
|
||||
this.getLeftHalfCard().setPT(1, 3);
|
||||
this.getRightHalfCard().setPT(1, 3);
|
||||
|
||||
// Whenever this creature enters or transforms into Ashling, Rekindled, you may discard a card. If you do, draw a card.
|
||||
this.getLeftHalfCard().addAbility(new TransformsOrEntersTriggeredAbility(
|
||||
new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost()), false
|
||||
));
|
||||
|
||||
// At the beginning of your first main phase, you may pay {U}. If you do, transform Ashling.
|
||||
this.getLeftHalfCard().addAbility(new BeginningOfFirstMainTriggeredAbility(
|
||||
new DoIfCostPaid(new TransformSourceEffect(), new ManaCostsImpl<>("{U}"))
|
||||
));
|
||||
|
||||
// Ashling, Rimebound
|
||||
// Whenever this creature transforms into Ashling, Rimebound and at the beginning of your first main phase, add two mana of any one color. Spend this mana only to cast spells with mana value 4 or greater.
|
||||
this.getRightHalfCard().addAbility(new OrTriggeredAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new AddConditionalManaOfAnyColorEffect(2, new ConditionalSpellManaBuilder(filter)),
|
||||
new TransformIntoSourceTriggeredAbility(null),
|
||||
new BeginningOfFirstMainTriggeredAbility(null)
|
||||
));
|
||||
|
||||
// At the beginning of your first main phase, you may pay {R}. If you do, transform Ashling.
|
||||
this.getRightHalfCard().addAbility(new BeginningOfFirstMainTriggeredAbility(
|
||||
new DoIfCostPaid(new TransformSourceEffect(), new ManaCostsImpl<>("{R}"))
|
||||
));
|
||||
}
|
||||
|
||||
private AshlingRekindled(final AshlingRekindled card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AshlingRekindled copy() {
|
||||
return new AshlingRekindled(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,6 +22,8 @@ public final class LorwynEclipsed extends ExpansionSet {
|
|||
|
||||
cards.add(new SetCardInfo("Ashling's Command", 205, Rarity.RARE, mage.cards.a.AshlingsCommand.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ashling's Command", 330, Rarity.RARE, mage.cards.a.AshlingsCommand.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ashling, Rekindled", 124, Rarity.RARE, mage.cards.a.AshlingRekindled.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ashling, Rekindled", 290, Rarity.RARE, mage.cards.a.AshlingRekindled.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Bitterbloom Bearer", 310, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Bitterbloom Bearer", 352, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Bitterbloom Bearer", 88, Rarity.MYTHIC, mage.cards.b.BitterbloomBearer.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
|
|
@ -391,6 +391,7 @@ public enum SubType {
|
|||
SNAKE("Snake", SubTypeSet.CreatureType),
|
||||
SOLDIER("Soldier", SubTypeSet.CreatureType),
|
||||
SOLTARI("Soltari", SubTypeSet.CreatureType),
|
||||
SORCERER("Sorcerer", SubTypeSet.CreatureType),
|
||||
SPAWN("Spawn", SubTypeSet.CreatureType),
|
||||
SPECTER("Specter", SubTypeSet.CreatureType),
|
||||
SPELLSHAPER("Spellshaper", SubTypeSet.CreatureType),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue