From b5a6ee98fc8c414571174caa1a27a49c16d3fd09 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Fri, 16 Aug 2024 20:23:03 -0400 Subject: [PATCH] implement [UGL] Team Spirit --- Mage.Sets/src/mage/cards/t/TeamSpirit.java | 42 ++++++++++++++++++++++ Mage.Sets/src/mage/sets/Unglued.java | 1 + 2 files changed, 43 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TeamSpirit.java diff --git a/Mage.Sets/src/mage/cards/t/TeamSpirit.java b/Mage.Sets/src/mage/cards/t/TeamSpirit.java new file mode 100644 index 00000000000..b5ad568a58f --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TeamSpirit.java @@ -0,0 +1,42 @@ +package mage.cards.t; + +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * @author xenohedron + */ +public final class TeamSpirit extends CardImpl { + + // "team" not yet supported, so implementing as "creatures target player controls" + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures target player's team controls"); + + static { + filter.add(TargetController.SOURCE_TARGETS.getControllerPredicate()); + } + + public TeamSpirit(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}"); + + // Creatures target player's team controls get +1/+1 until end of turn. + this.getSpellAbility().addEffect(new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false)); + this.getSpellAbility().addTarget(new TargetPlayer()); + } + + private TeamSpirit(final TeamSpirit card) { + super(card); + } + + @Override + public TeamSpirit copy() { + return new TeamSpirit(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Unglued.java b/Mage.Sets/src/mage/sets/Unglued.java index 1c5927928a8..4e82ce7edf3 100644 --- a/Mage.Sets/src/mage/sets/Unglued.java +++ b/Mage.Sets/src/mage/sets/Unglued.java @@ -59,6 +59,7 @@ public final class Unglued extends ExpansionSet { cards.add(new SetCardInfo("Spatula of the Ages", 81, Rarity.UNCOMMON, mage.cards.s.SpatulaOfTheAges.class)); cards.add(new SetCardInfo("Strategy, Schmategy", 52, Rarity.RARE, mage.cards.s.StrategySchmategy.class)); cards.add(new SetCardInfo("Swamp", 86, Rarity.LAND, mage.cards.basiclands.Swamp.class, new CardGraphicInfo(FrameStyle.UGL_FULL_ART_BASIC, false))); + cards.add(new SetCardInfo("Team Spirit", 67, Rarity.COMMON, mage.cards.t.TeamSpirit.class)); cards.add(new SetCardInfo("Temp of the Damned", 38, Rarity.COMMON, mage.cards.t.TempOfTheDamned.class)); cards.add(new SetCardInfo("The Cheese Stands Alone", 2, Rarity.RARE, mage.cards.t.TheCheeseStandsAlone.class)); cards.add(new SetCardInfo("Timmy, Power Gamer", 68, Rarity.RARE, mage.cards.t.TimmyPowerGamer.class));