mirror of
https://github.com/correl/mage.git
synced 2025-01-14 03:00:10 +00:00
[MOM] Implement Compleated Huntmaster
This commit is contained in:
parent
fc1f2f2685
commit
a2036e0c33
6 changed files with 62 additions and 3 deletions
47
Mage.Sets/src/mage/cards/c/CompleatedHuntmaster.java
Normal file
47
Mage.Sets/src/mage/cards/c/CompleatedHuntmaster.java
Normal file
|
@ -0,0 +1,47 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.keyword.IncubateEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.StaticFilters;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class CompleatedHuntmaster extends CardImpl {
|
||||
|
||||
public CompleatedHuntmaster(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
|
||||
|
||||
this.subtype.add(SubType.PHYREXIAN);
|
||||
this.subtype.add(SubType.ELF);
|
||||
this.subtype.add(SubType.WARRIOR);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// {1}, {T}, Sacrifice another creature or artifact: Incubate 3.
|
||||
Ability ability = new SimpleActivatedAbility(new IncubateEffect(3), new GenericManaCost(1));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private CompleatedHuntmaster(final CompleatedHuntmaster card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompleatedHuntmaster copy() {
|
||||
return new CompleatedHuntmaster(this);
|
||||
}
|
||||
}
|
|
@ -43,7 +43,7 @@ public final class JunkyardGenius extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(new BoostControlledEffect(
|
||||
1, 1, Duration.EndOfTurn, true
|
||||
).setText("until end of turn, other creatures you control get +1/+0"), new ManaCostsImpl<>("{1}{B}{R}"));
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE));
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT));
|
||||
ability.addEffect(new GainAbilityControlledEffect(
|
||||
new MenaceAbility(), Duration.EndOfTurn,
|
||||
StaticFilters.FILTER_PERMANENT_CREATURES, true
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class KillZoneAcrobat extends CardImpl {
|
|||
// Whenever Kill-Zone Acrobat attacks, you may sacrifice another creature or artifact. If you do, Kill-Zone Acrobat gains flying until end of turn.
|
||||
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(
|
||||
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE)
|
||||
new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT)
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class Thraxodemon extends CardImpl {
|
|||
// {3}, {T}, Sacrifice another creature or artifact: Draw a card.
|
||||
Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(3));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE));
|
||||
ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Collective Nightmare", 95, Rarity.UNCOMMON, mage.cards.c.CollectiveNightmare.class));
|
||||
cards.add(new SetCardInfo("Coming In Hot", 136, Rarity.COMMON, mage.cards.c.ComingInHot.class));
|
||||
cards.add(new SetCardInfo("Compleated Conjurer", 49, Rarity.UNCOMMON, mage.cards.c.CompleatedConjurer.class));
|
||||
cards.add(new SetCardInfo("Compleated Huntmaster", 96, Rarity.UNCOMMON, mage.cards.c.CompleatedHuntmaster.class));
|
||||
cards.add(new SetCardInfo("Consuming Aetherborn", 97, Rarity.COMMON, mage.cards.c.ConsumingAetherborn.class));
|
||||
cards.add(new SetCardInfo("Converter Beast", 180, Rarity.COMMON, mage.cards.c.ConverterBeast.class));
|
||||
cards.add(new SetCardInfo("Copper Host Crusher", 181, Rarity.UNCOMMON, mage.cards.c.CopperHostCrusher.class));
|
||||
|
|
|
@ -436,6 +436,17 @@ public final class StaticFilters {
|
|||
FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE.setLockedFilter(true);
|
||||
}
|
||||
|
||||
public static final FilterControlledPermanent FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT = new FilterControlledPermanent("another creature or artifact");
|
||||
|
||||
static {
|
||||
FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT.add(AnotherPredicate.instance);
|
||||
FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT.add(Predicates.or(
|
||||
CardType.ARTIFACT.getPredicate(),
|
||||
CardType.CREATURE.getPredicate()
|
||||
));
|
||||
FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE_SHORT_TEXT.setLockedFilter(true);
|
||||
}
|
||||
|
||||
public static final FilterControlledPermanent FILTER_CONTROLLED_PERMANENT_ENCHANTMENT = new FilterControlledEnchantmentPermanent();
|
||||
|
||||
static {
|
||||
|
|
Loading…
Reference in a new issue