diff --git a/Mage.Sets/src/mage/cards/s/SilkWebWeaver.java b/Mage.Sets/src/mage/cards/s/SilkWebWeaver.java new file mode 100644 index 00000000000..d44c2c7ba01 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SilkWebWeaver.java @@ -0,0 +1,71 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.abilities.keyword.WebSlingingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.StaticFilters; +import mage.game.permanent.token.HumanCitizenToken; + +import java.util.UUID; + +/** + * + * @author Jmlundeen + */ +public final class SilkWebWeaver extends CardImpl { + + public SilkWebWeaver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.SPIDER); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HERO); + this.power = new MageInt(3); + this.toughness = new MageInt(5); + + // Web-slinging {1}{G}{W} + this.addAbility(new WebSlingingAbility(this, "{1}{G}{W}")); + + // Whenever you cast a creature spell, create a 1/1 green and white Human Citizen creature token. + this.addAbility(new SpellCastControllerTriggeredAbility( + new CreateTokenEffect(new HumanCitizenToken()), + StaticFilters.FILTER_SPELL_A_CREATURE, + false + )); + + // {3}{G}{W}: Creatures you control get +2/+2 and gain vigilance until end of turn. + Ability ability = new SimpleActivatedAbility( + new BoostControlledEffect(2, 2, Duration.EndOfTurn).setText("Creatures you control get +2/+2"), + new ManaCostsImpl<>("{3}{G}{W}") + ); + ability.addEffect( + new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES) + .setText("gain vigilance until end of turn") + .concatBy("and") + ); + this.addAbility(ability); + } + + private SilkWebWeaver(final SilkWebWeaver card) { + super(card); + } + + @Override + public SilkWebWeaver copy() { + return new SilkWebWeaver(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarvelsSpiderMan.java b/Mage.Sets/src/mage/sets/MarvelsSpiderMan.java index b95365af0d6..5396a4926ff 100644 --- a/Mage.Sets/src/mage/sets/MarvelsSpiderMan.java +++ b/Mage.Sets/src/mage/sets/MarvelsSpiderMan.java @@ -1,6 +1,7 @@ package mage.sets; import mage.cards.ExpansionSet; +import mage.cards.s.SilkWebWeaver; import mage.constants.Rarity; import mage.constants.SetType; @@ -201,6 +202,8 @@ public final class MarvelsSpiderMan extends ExpansionSet { cards.add(new SetCardInfo("Shock", 88, Rarity.COMMON, mage.cards.s.Shock.class)); cards.add(new SetCardInfo("Shocker, Unshakable", 89, Rarity.UNCOMMON, mage.cards.s.ShockerUnshakable.class)); cards.add(new SetCardInfo("Shriek, Treblemaker", 144, Rarity.UNCOMMON, mage.cards.s.ShriekTreblemaker.class)); + cards.add(new SetCardInfo("Silk, Web Weaver", 145, Rarity.RARE, SilkWebWeaver.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Silk, Web Weaver", 215, Rarity.RARE, SilkWebWeaver.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Silver Sable, Mercenary Leader", 13, Rarity.UNCOMMON, mage.cards.s.SilverSableMercenaryLeader.class)); cards.add(new SetCardInfo("Sinister Hideout", 184, Rarity.COMMON, mage.cards.s.SinisterHideout.class)); cards.add(new SetCardInfo("Skyward Spider", 146, Rarity.COMMON, mage.cards.s.SkywardSpider.class));