[ECL] Implement Vibrance

This commit is contained in:
PurpleCrowbar 2026-01-06 12:48:29 +00:00
parent fe35cac545
commit 27d578074d
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,57 @@
package mage.cards.v;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TwoOfManaColorSpentCondition;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.abilities.keyword.EvokeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterLandCard;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCardInLibrary;
import java.util.UUID;
/**
* @author PurpleCrowbar
*/
public final class Vibrance extends CardImpl {
public Vibrance(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R/G}{R/G}");
this.subtype.add(SubType.ELEMENTAL, SubType.INCARNATION);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// When this creature enters, if {R}{R} was spent to cast it, this creature deals 3 damage to any target.
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3))
.withInterveningIf(TwoOfManaColorSpentCondition.RED);
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// When this creature enters, if {G}{G} was spent to cast it, search your library for a land card, reveal it, put it into your hand, then shuffle. You gain 2 life.
ability = new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(new FilterLandCard()), true))
.withInterveningIf(TwoOfManaColorSpentCondition.GREEN);
ability.addEffect(new GainLifeEffect(2));
this.addAbility(ability);
// Evoke {R/G}{R/G}
this.addAbility(new EvokeAbility("{R/G}{R/G}"));
}
private Vibrance(final Vibrance card) {
super(card);
}
@Override
public Vibrance copy() {
return new Vibrance(this);
}
}

View file

@ -67,5 +67,7 @@ public final class LorwynEclipsed extends ExpansionSet {
cards.add(new SetCardInfo("Temple Garden", 268, Rarity.RARE, mage.cards.t.TempleGarden.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Temple Garden", 351, Rarity.RARE, mage.cards.t.TempleGarden.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Unexpected Assistance", 80, Rarity.COMMON, mage.cards.u.UnexpectedAssistance.class));
cards.add(new SetCardInfo("Vibrance", 249, Rarity.MYTHIC, mage.cards.v.Vibrance.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vibrance", 295, Rarity.MYTHIC, mage.cards.v.Vibrance.class, NON_FULL_USE_VARIOUS));
}
}