diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java index cb470f2a6f7..0f5f41ee13d 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/ScryfallImageSupportTokens.java @@ -2167,6 +2167,9 @@ public class ScryfallImageSupportTokens { put("WOC/Spirit", "https://api.scryfall.com/cards/twoc/17/en?format=image"); put("WOC/Virtuous", "https://api.scryfall.com/cards/twoc/3/en?format=image"); + //WHO + put("WHO/Alien Insect", "https://api.scryfall.com/cards/twho/19/en?format=image"); + // 8ED put("8ED/Rukh", "https://api.scryfall.com/cards/p03/7/en?format=image"); diff --git a/Mage.Sets/src/mage/cards/v/VrestinMenoptraLeader.java b/Mage.Sets/src/mage/cards/v/VrestinMenoptraLeader.java new file mode 100644 index 00000000000..a60634271d8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/v/VrestinMenoptraLeader.java @@ -0,0 +1,65 @@ +package mage.cards.v; + +import mage.MageInt; +import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.GetXValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.permanent.token.AlienInsectToken; + +import java.util.UUID; + +/** + * @author Sidorovich77 + */ +public final class VrestinMenoptraLeader extends CardImpl { + + + public VrestinMenoptraLeader(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{X}{G}{G}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.ALIEN); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(0); + this.toughness = new MageInt(0); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Vrestin enters with X +1/+1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance()))); + + // When Vrestin enters, create X 1/1 green and white Alien Insect creature tokens with flying. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new AlienInsectToken(), GetXValue.instance) + .setText("create X 1/1 green and white Alien Insect creature tokens with flying."))); + + // Whenever you attack with one or more Insects, put a +1/+1 counter on each of them. + this.addAbility(new AttacksWithCreaturesTriggeredAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)) + .setText("put a +1/+1 counter on each of them."), 1, new FilterCreaturePermanent(SubType.INSECT, "Insects"), true)); + + + } + + private VrestinMenoptraLeader(final VrestinMenoptraLeader card) { + super(card); + } + + @Override + public VrestinMenoptraLeader copy() { + return new VrestinMenoptraLeader(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/DoctorWho.java b/Mage.Sets/src/mage/sets/DoctorWho.java index fb37c1bb217..4e98ac7a5d0 100644 --- a/Mage.Sets/src/mage/sets/DoctorWho.java +++ b/Mage.Sets/src/mage/sets/DoctorWho.java @@ -255,7 +255,9 @@ public final class DoctorWho extends ExpansionSet { cards.add(new SetCardInfo("The Rani", 149, Rarity.RARE, mage.cards.t.TheRani.class)); cards.add(new SetCardInfo("The Sea Devils", 108, Rarity.RARE, mage.cards.t.TheSeaDevils.class)); cards.add(new SetCardInfo("The Sixth Doctor", 159, Rarity.RARE, mage.cards.t.TheSixthDoctor.class)); - cards.add(new SetCardInfo("The Thirteenth Doctor", 4, Rarity.MYTHIC, mage.cards.t.TheThirteenthDoctor.class)); + cards.add(new SetCardInfo("The Thirteenth Doctor", 4, Rarity.MYTHIC, mage.cards.t.TheThirteenthDoctor.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Thirteenth Doctor", 564, Rarity.MYTHIC, mage.cards.t.TheThirteenthDoctor.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Thirteenth Doctor", "564z", Rarity.MYTHIC, mage.cards.t.TheThirteenthDoctor.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("The Valeyard", 165, Rarity.RARE, mage.cards.t.TheValeyard.class)); cards.add(new SetCardInfo("Thespian's Stage", 323, Rarity.RARE, mage.cards.t.ThespiansStage.class)); cards.add(new SetCardInfo("The Tenth Doctor", 3, Rarity.MYTHIC, mage.cards.t.TheTenthDoctor.class, NON_FULL_USE_VARIOUS)); @@ -293,6 +295,7 @@ public final class DoctorWho extends ExpansionSet { cards.add(new SetCardInfo("Twice Upon a Time", 61, Rarity.RARE, mage.cards.t.TwiceUponATime.class)); cards.add(new SetCardInfo("Vashta Nerada", 73, Rarity.RARE, mage.cards.v.VashtaNerada.class)); cards.add(new SetCardInfo("Vineglimmer Snarl", 329, Rarity.RARE, mage.cards.v.VineglimmerSnarl.class)); + cards.add(new SetCardInfo("Vrestin, Menoptra Leader", 451, Rarity.RARE, mage.cards.v.VrestinMenoptraLeader.class)); cards.add(new SetCardInfo("War Room", 330, Rarity.RARE, mage.cards.w.WarRoom.class)); cards.add(new SetCardInfo("Waterlogged Grove", 331, Rarity.RARE, mage.cards.w.WaterloggedGrove.class)); cards.add(new SetCardInfo("Wayfarer's Bauble", 256, Rarity.COMMON, mage.cards.w.WayfarersBauble.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/AlienInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/AlienInsectToken.java new file mode 100644 index 00000000000..8292b9d54b4 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/AlienInsectToken.java @@ -0,0 +1,34 @@ + +package mage.game.permanent.token; + +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author Sidorovich77 + */ +public final class AlienInsectToken extends TokenImpl { + + public AlienInsectToken() { + super("Alien Insect Token", "1/1 green and white Alien Insect creature token with flying"); + cardType.add(CardType.CREATURE); + color.setWhite(true); + color.setGreen(true); + subtype.add(SubType.ALIEN); + subtype.add(SubType.INSECT); + power = new MageInt(1); + toughness = new MageInt(1); + + addAbility(FlyingAbility.getInstance()); + } + + private AlienInsectToken(final AlienInsectToken token) { + super(token); + } + + public AlienInsectToken copy() { + return new AlienInsectToken(this); + } +} diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index 599bcb31cb7..f1257b16c0d 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -2111,6 +2111,9 @@ |Generate|TOK:WOC|Spirit|||WhiteBlackSpiritToken| |Generate|TOK:WOC|Virtuous|||VirtuousRoleToken| +# WHO +|Generate|TOK:WHO|Alien Insect|||AlienInsectToken| + # PIP |Generate|TOK:PIP|Robot|||RobotToken|