mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
[BRO] Implemented Thran Spider
This commit is contained in:
parent
41f7401243
commit
b245dd036f
3 changed files with 72 additions and 1 deletions
66
Mage.Sets/src/mage/cards/t/ThranSpider.java
Normal file
66
Mage.Sets/src/mage/cards/t/ThranSpider.java
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
package mage.cards.t;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
|
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
|
||||||
|
import mage.abilities.keyword.ReachAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.PutCards;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.game.permanent.token.PowerstoneToken;
|
||||||
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class ThranSpider extends CardImpl {
|
||||||
|
|
||||||
|
public ThranSpider(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.SPIDER);
|
||||||
|
this.power = new MageInt(2);
|
||||||
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
|
// Reach
|
||||||
|
this.addAbility(ReachAbility.getInstance());
|
||||||
|
|
||||||
|
// When Thran Spider enters the battlefield, you and target opponent each create a tapped Powerstone token.
|
||||||
|
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(
|
||||||
|
new PowerstoneToken(), 1, true
|
||||||
|
).setText("you"));
|
||||||
|
ability.addEffect(new CreateTokenTargetEffect(
|
||||||
|
new PowerstoneToken(), 1, true
|
||||||
|
).setText("and target opponent each create a tapped Powerstone token"));
|
||||||
|
ability.addTarget(new TargetOpponent());
|
||||||
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
// {7}: Look at the top four cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
|
||||||
|
this.addAbility(new SimpleActivatedAbility(
|
||||||
|
new LookLibraryAndPickControllerEffect(
|
||||||
|
4, 1,
|
||||||
|
StaticFilters.FILTER_CARD_ARTIFACT_AN,
|
||||||
|
PutCards.HAND, PutCards.BOTTOM_RANDOM
|
||||||
|
), new GenericManaCost(7)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ThranSpider(final ThranSpider card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ThranSpider copy() {
|
||||||
|
return new ThranSpider(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -75,6 +75,7 @@ public final class TheBrothersWar extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Teferi, Temporal Pilgrim", 66, Rarity.MYTHIC, mage.cards.t.TeferiTemporalPilgrim.class));
|
cards.add(new SetCardInfo("Teferi, Temporal Pilgrim", 66, Rarity.MYTHIC, mage.cards.t.TeferiTemporalPilgrim.class));
|
||||||
cards.add(new SetCardInfo("The Mightstone and Weakstone", "238a", Rarity.RARE, mage.cards.t.TheMightstoneAndWeakstone.class));
|
cards.add(new SetCardInfo("The Mightstone and Weakstone", "238a", Rarity.RARE, mage.cards.t.TheMightstoneAndWeakstone.class));
|
||||||
cards.add(new SetCardInfo("Third Path Savant", 67, Rarity.COMMON, mage.cards.t.ThirdPathSavant.class));
|
cards.add(new SetCardInfo("Third Path Savant", 67, Rarity.COMMON, mage.cards.t.ThirdPathSavant.class));
|
||||||
|
cards.add(new SetCardInfo("Thran Spider", 254, Rarity.RARE, mage.cards.t.ThranSpider.class));
|
||||||
cards.add(new SetCardInfo("Titania, Gaea Incarnate", "256b", Rarity.MYTHIC, mage.cards.t.TitaniaGaeaIncarnate.class));
|
cards.add(new SetCardInfo("Titania, Gaea Incarnate", "256b", Rarity.MYTHIC, mage.cards.t.TitaniaGaeaIncarnate.class));
|
||||||
cards.add(new SetCardInfo("Titania, Voice of Gaea", 193, Rarity.MYTHIC, mage.cards.t.TitaniaVoiceOfGaea.class));
|
cards.add(new SetCardInfo("Titania, Voice of Gaea", 193, Rarity.MYTHIC, mage.cards.t.TitaniaVoiceOfGaea.class));
|
||||||
cards.add(new SetCardInfo("Tocasia's Onulet", 39, Rarity.COMMON, mage.cards.t.TocasiasOnulet.class));
|
cards.add(new SetCardInfo("Tocasia's Onulet", 39, Rarity.COMMON, mage.cards.t.TocasiasOnulet.class));
|
||||||
|
|
|
@ -27,7 +27,11 @@ public class CreateTokenTargetEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
|
|
||||||
public CreateTokenTargetEffect(Token token, int amount) {
|
public CreateTokenTargetEffect(Token token, int amount) {
|
||||||
this(token, StaticValue.get(amount));
|
this(token, amount, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CreateTokenTargetEffect(Token token, int amount, boolean tapped) {
|
||||||
|
this(token, StaticValue.get(amount), tapped, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CreateTokenTargetEffect(Token token, DynamicValue amount) {
|
public CreateTokenTargetEffect(Token token, DynamicValue amount) {
|
||||||
|
|
Loading…
Reference in a new issue