forked from External/mage
[PIP] Implement Overseer of Vault 76 (#11966)
This commit is contained in:
parent
9474f67f5c
commit
76072d7c55
2 changed files with 84 additions and 0 deletions
80
Mage.Sets/src/mage/cards/o/OverseerOfVault76.java
Normal file
80
Mage.Sets/src/mage/cards/o/OverseerOfVault76.java
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
package mage.cards.o;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility;
|
||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.common.RemoveCounterCost;
|
||||
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersAllEffect;
|
||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.constants.*;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.PowerPredicate;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
* @author Cguy7777
|
||||
*/
|
||||
public final class OverseerOfVault76 extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with power 3 or less");
|
||||
|
||||
static {
|
||||
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 4));
|
||||
}
|
||||
|
||||
public OverseerOfVault76(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.ADVISOR);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// First Contact -- Whenever Overseer of Vault 76 or another creature with power 3 or less
|
||||
// enters the battlefield under your control, put a quest counter on Overseer of Vault 76.
|
||||
this.addAbility(new EntersBattlefieldThisOrAnotherTriggeredAbility(
|
||||
new AddCountersSourceEffect(CounterType.QUEST.createInstance()), filter, false, true)
|
||||
.withFlavorWord("First Contact"));
|
||||
|
||||
// At the beginning of combat on your turn, you may remove three quest counters from
|
||||
// among permanents you control. When you do, put a +1/+1 counter on each
|
||||
// creature you control and they gain vigilance until end of turn.
|
||||
ReflexiveTriggeredAbility boostAbility = new ReflexiveTriggeredAbility(
|
||||
new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE),
|
||||
false);
|
||||
boostAbility.addEffect(new GainAbilityControlledEffect(
|
||||
VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURE)
|
||||
.setText("and they gain vigilance until end of turn"));
|
||||
|
||||
Cost cost = new RemoveCounterCost(
|
||||
new TargetPermanent(1, 3, StaticFilters.FILTER_CONTROLLED_PERMANENTS),
|
||||
CounterType.QUEST,
|
||||
3)
|
||||
.setText("remove three quest counters from among permanents you control");
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||
new DoWhenCostPaid(boostAbility, cost, "Remove three quest counters from among permanents you control?"),
|
||||
TargetController.YOU,
|
||||
false));
|
||||
}
|
||||
|
||||
private OverseerOfVault76(final OverseerOfVault76 card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OverseerOfVault76 copy() {
|
||||
return new OverseerOfVault76(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -178,6 +178,10 @@ public final class Fallout extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Open the Vaults", 168, Rarity.RARE, mage.cards.o.OpenTheVaults.class));
|
||||
cards.add(new SetCardInfo("Opulent Palace", 278, Rarity.UNCOMMON, mage.cards.o.OpulentPalace.class));
|
||||
cards.add(new SetCardInfo("Overflowing Basin", 152, Rarity.RARE, mage.cards.o.OverflowingBasin.class));
|
||||
cards.add(new SetCardInfo("Overseer of Vault 76", 19, Rarity.RARE, mage.cards.o.OverseerOfVault76.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Overseer of Vault 76", 368, Rarity.RARE, mage.cards.o.OverseerOfVault76.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Overseer of Vault 76", 547, Rarity.RARE, mage.cards.o.OverseerOfVault76.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Overseer of Vault 76", 896, Rarity.RARE, mage.cards.o.OverseerOfVault76.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Panharmonicon", 237, Rarity.RARE, mage.cards.p.Panharmonicon.class));
|
||||
cards.add(new SetCardInfo("Path of Ancestry", 279, Rarity.COMMON, mage.cards.p.PathOfAncestry.class));
|
||||
cards.add(new SetCardInfo("Path to Exile", 169, Rarity.UNCOMMON, mage.cards.p.PathToExile.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue