mirror of
https://github.com/correl/mage.git
synced 2024-12-26 19:16:54 +00:00
Implemented Vivien, Arkbow Ranger
This commit is contained in:
parent
146064576d
commit
4bf9153bc2
2 changed files with 70 additions and 0 deletions
69
Mage.Sets/src/mage/cards/v/VivienArkbowRanger.java
Normal file
69
Mage.Sets/src/mage/cards/v/VivienArkbowRanger.java
Normal file
|
@ -0,0 +1,69 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
import mage.abilities.effects.common.DamageWithPowerTargetEffect;
|
||||
import mage.abilities.effects.common.WishEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||
import mage.abilities.effects.common.counter.DistributeCountersEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetCreatureOrPlaneswalker;
|
||||
import mage.target.common.TargetCreaturePermanentAmount;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class VivienArkbowRanger extends CardImpl {
|
||||
|
||||
public VivienArkbowRanger(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{G}{G}");
|
||||
|
||||
this.addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.VIVIEN);
|
||||
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4));
|
||||
|
||||
// +1: Distribute two +1/+1 counters among up to two target creatures. They gain trample until end of turn.
|
||||
Ability ability = new LoyaltyAbility(new DistributeCountersEffect(
|
||||
CounterType.P1P1, 2, false, "up to two target creatures"
|
||||
), 1);
|
||||
ability.addEffect(new GainAbilityTargetEffect(
|
||||
TrampleAbility.getInstance(), Duration.EndOfTurn,
|
||||
"They gain trample until end of turn"
|
||||
));
|
||||
ability.addTarget(new TargetCreaturePermanentAmount(2));
|
||||
this.addAbility(ability);
|
||||
|
||||
// −3: Target creature you control deals damage equal to its power to target creature or planeswalker.
|
||||
ability = new LoyaltyAbility(
|
||||
new DamageWithPowerTargetEffect().setText("Target creature you control deals damage " +
|
||||
"equal to its power to target creature or planeswalker."), -3
|
||||
);
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
ability.addTarget(new TargetCreatureOrPlaneswalker());
|
||||
this.addAbility(ability);
|
||||
|
||||
// −5: You may choose a creature card you own from outside the game, reveal it, and put it into your hand.
|
||||
this.addAbility(new LoyaltyAbility(new WishEffect(StaticFilters.FILTER_CARD_CREATURE_A), -5));
|
||||
}
|
||||
|
||||
private VivienArkbowRanger(final VivienArkbowRanger card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VivienArkbowRanger copy() {
|
||||
return new VivienArkbowRanger(this);
|
||||
}
|
||||
}
|
|
@ -184,6 +184,7 @@ public final class CoreSet2020 extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Vampire of the Dire Moon", 120, Rarity.UNCOMMON, mage.cards.v.VampireOfTheDireMoon.class));
|
||||
cards.add(new SetCardInfo("Vial of Dragonfire", 241, Rarity.COMMON, mage.cards.v.VialOfDragonfire.class));
|
||||
cards.add(new SetCardInfo("Vilis, Broker of Blood", 122, Rarity.RARE, mage.cards.v.VilisBrokerOfBlood.class));
|
||||
cards.add(new SetCardInfo("Vivien, Arkbow Ranger", 199, Rarity.MYTHIC, mage.cards.v.VivienArkbowRanger.class));
|
||||
cards.add(new SetCardInfo("Vivien, Nature's Avenger", 298, Rarity.MYTHIC, mage.cards.v.VivienNaturesAvenger.class));
|
||||
cards.add(new SetCardInfo("Voracious Hydra", 200, Rarity.RARE, mage.cards.v.VoraciousHydra.class));
|
||||
cards.add(new SetCardInfo("Wakeroot Elemental", 202, Rarity.RARE, mage.cards.w.WakerootElemental.class));
|
||||
|
|
Loading…
Reference in a new issue