forked from External/mage
[MKM] Implement Voja, Jaws of the Conclave (#11685)
* [MKM] Implement Voja, Jaws of the Conclave * Add hints for Elf and Wolf counts, clarify comment
This commit is contained in:
parent
784a5fb1e4
commit
063f91ed4b
2 changed files with 80 additions and 0 deletions
79
Mage.Sets/src/mage/cards/v/VojaJawsOfTheConclave.java
Normal file
79
Mage.Sets/src/mage/cards/v/VojaJawsOfTheConclave.java
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.abilities.keyword.WardAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Cguy7777
|
||||
*/
|
||||
public final class VojaJawsOfTheConclave extends CardImpl {
|
||||
|
||||
private static final FilterControlledPermanent filterElves = new FilterControlledPermanent(SubType.ELF);
|
||||
private static final FilterControlledPermanent filterWolves = new FilterControlledPermanent(SubType.WOLF);
|
||||
|
||||
private static final DynamicValue xValueElves = new PermanentsOnBattlefieldCount(filterElves);
|
||||
private static final Hint hintElves = new ValueHint("Elves you control", xValueElves);
|
||||
private static final DynamicValue xValueWolves = new PermanentsOnBattlefieldCount(filterWolves);
|
||||
private static final Hint hintWolves = new ValueHint("Wolves you control", xValueWolves);
|
||||
|
||||
public VojaJawsOfTheConclave(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.WOLF);
|
||||
this.power = new MageInt(5);
|
||||
this.toughness = new MageInt(5);
|
||||
|
||||
// Vigilance
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// Trample
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
|
||||
// Ward {3}
|
||||
this.addAbility(new WardAbility(new ManaCostsImpl<>("{3}"), false));
|
||||
|
||||
// Whenever Voja, Jaws of the Conclave attacks, put X +1/+1 counters on each creature you control,
|
||||
// where X is the number of Elves you control. Draw a card for each Wolf you control.
|
||||
Ability ability = new AttacksTriggeredAbility(
|
||||
new AddCountersAllEffect(
|
||||
// Set amount to 0, otherwise AddCountersAllEffect.apply() will default to amount = 1 if xValueElves = 0
|
||||
CounterType.P1P1.createInstance(0),
|
||||
xValueElves,
|
||||
StaticFilters.FILTER_CONTROLLED_CREATURE
|
||||
).setText("put X +1/+1 counters on each creature you control, where X is the number of Elves you control"));
|
||||
ability.addEffect(new DrawCardSourceControllerEffect(xValueWolves));
|
||||
|
||||
this.addAbility(ability.addHint(hintElves).addHint(hintWolves));
|
||||
}
|
||||
|
||||
private VojaJawsOfTheConclave(final VojaJawsOfTheConclave card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VojaJawsOfTheConclave copy() {
|
||||
return new VojaJawsOfTheConclave(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -109,6 +109,7 @@ public final class MurdersAtKarlovManor extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Undercover Crocodelf", 239, Rarity.COMMON, mage.cards.u.UndercoverCrocodelf.class));
|
||||
cards.add(new SetCardInfo("Underground Mortuary", 271, Rarity.RARE, mage.cards.u.UndergroundMortuary.class));
|
||||
cards.add(new SetCardInfo("Vein Ripper", 110, Rarity.MYTHIC, mage.cards.v.VeinRipper.class));
|
||||
cards.add(new SetCardInfo("Voja, Jaws of the Conclave", 432, Rarity.MYTHIC, mage.cards.v.VojaJawsOfTheConclave.class));
|
||||
cards.add(new SetCardInfo("Warleader's Call", 242, Rarity.RARE, mage.cards.w.WarleadersCall.class));
|
||||
cards.add(new SetCardInfo("Wojek Investigator", 36, Rarity.RARE, mage.cards.w.WojekInvestigator.class));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue