forked from External/mage
[OTJ] Implement Claim Jumper
This commit is contained in:
parent
f2954b42dc
commit
ef25f9566e
2 changed files with 77 additions and 0 deletions
76
Mage.Sets/src/mage/cards/c/ClaimJumper.java
Normal file
76
Mage.Sets/src/mage/cards/c/ClaimJumper.java
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.condition.common.OpponentControlsMoreCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public final class ClaimJumper extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("Plains card");
|
||||
|
||||
static {
|
||||
filter.add(SubType.PLAINS.getPredicate());
|
||||
}
|
||||
|
||||
public ClaimJumper(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
||||
|
||||
this.subtype.add(SubType.RABBIT);
|
||||
this.subtype.add(SubType.MERCENARY);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
// Vigilance
|
||||
this.addAbility(VigilanceAbility.getInstance());
|
||||
|
||||
// When Claim Jumper enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card and put it onto the battlefield tapped. Then if an opponent controls more lands than you, repeat this process once. If you search your library this way, shuffle.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(
|
||||
new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(0, 1, filter), true
|
||||
),
|
||||
true
|
||||
),
|
||||
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
|
||||
"When Claim Jumper enters the battlefield, if an opponent controls more lands than you, "
|
||||
+ "you may search your library for a Plains card and put it onto the battlefield tapped. "
|
||||
+ "Then if an opponent controls more lands than you, repeat this process once. "
|
||||
+ "If you search your library this way, shuffle."
|
||||
);
|
||||
ability.addEffect(
|
||||
new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(0, 1, filter), true, false, true
|
||||
),
|
||||
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS)
|
||||
)
|
||||
);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
private ClaimJumper(final ClaimJumper card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClaimJumper copy() {
|
||||
return new ClaimJumper(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -61,6 +61,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Canyon Crab", 40, Rarity.UNCOMMON, mage.cards.c.CanyonCrab.class));
|
||||
cards.add(new SetCardInfo("Caught in the Crossfire", 117, Rarity.UNCOMMON, mage.cards.c.CaughtInTheCrossfire.class));
|
||||
cards.add(new SetCardInfo("Caustic Bronco", 82, Rarity.RARE, mage.cards.c.CausticBronco.class));
|
||||
cards.add(new SetCardInfo("Claim Jumper", 8, Rarity.RARE, mage.cards.c.ClaimJumper.class));
|
||||
cards.add(new SetCardInfo("Colossal Rattlewurm", 159, Rarity.RARE, mage.cards.c.ColossalRattlewurm.class));
|
||||
cards.add(new SetCardInfo("Concealed Courtyard", 268, Rarity.RARE, mage.cards.c.ConcealedCourtyard.class));
|
||||
cards.add(new SetCardInfo("Congregation Gryff", 200, Rarity.UNCOMMON, mage.cards.c.CongregationGryff.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue