implement [LCC] Redemption Choir

This commit is contained in:
xenohedron 2023-11-25 01:56:02 -05:00
parent 47197f7c39
commit 489bf1f26d
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.r;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
import mage.abilities.condition.common.CovenCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.hint.common.CovenHint;
import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.filter.common.FilterPermanentCard;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
/**
* @author xenohedron
*/
public final class RedemptionChoir extends CardImpl {
private static final FilterPermanentCard filter = new FilterPermanentCard("permanent card with mana value 3 or less from your graveyard");
static {
filter.add(new ManaValuePredicate(ComparisonType.OR_LESS, 3));
}
public RedemptionChoir(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
this.subtype.add(SubType.VAMPIRE);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Lifelink
this.addAbility(LifelinkAbility.getInstance());
// Coven -- Whenever Redemption Choir enters the battlefield or attacks, if you control three or more creatures with different powers, return target permanent card with mana value 3 or less from your graveyard to the battlefield.
Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldOrAttacksSourceTriggeredAbility(
new ReturnFromGraveyardToBattlefieldTargetEffect()
), CovenCondition.instance, "Whenever {this} enters the battlefield or attacks, " +
"if you control three or more creatures with different powers, " +
"return target permanent card with mana value 3 or less from your graveyard to the battlefield."
);
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability.addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
}
private RedemptionChoir(final RedemptionChoir card) {
super(card);
}
@Override
public RedemptionChoir copy() {
return new RedemptionChoir(this);
}
}

View file

@ -208,6 +208,7 @@ public final class LostCavernsOfIxalanCommander extends ExpansionSet {
cards.add(new SetCardInfo("Rapid Hybridization", 166, Rarity.UNCOMMON, mage.cards.r.RapidHybridization.class));
cards.add(new SetCardInfo("Ravenform", 167, Rarity.COMMON, mage.cards.r.Ravenform.class));
cards.add(new SetCardInfo("Realmwalker", 250, Rarity.RARE, mage.cards.r.Realmwalker.class));
cards.add(new SetCardInfo("Redemption Choir", 74, Rarity.RARE, mage.cards.r.RedemptionChoir.class));
cards.add(new SetCardInfo("Reflections of Littjara", 168, Rarity.RARE, mage.cards.r.ReflectionsOfLittjara.class));
cards.add(new SetCardInfo("Regal Behemoth", 251, Rarity.RARE, mage.cards.r.RegalBehemoth.class));
cards.add(new SetCardInfo("Regisaur Alpha", 286, Rarity.RARE, mage.cards.r.RegisaurAlpha.class));