diff --git a/Mage.Sets/src/mage/cards/c/CuriousColossus.java b/Mage.Sets/src/mage/cards/c/CuriousColossus.java new file mode 100644 index 00000000000..cf3f23cf87e --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CuriousColossus.java @@ -0,0 +1,92 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.AddCardSubTypeTargetEffect; +import mage.abilities.effects.common.continuous.LoseAllAbilitiesTargetEffect; +import mage.abilities.effects.common.continuous.SetBasePowerToughnessTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetOpponent; +import mage.target.targetpointer.FixedTargets; + +import java.util.List; +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CuriousColossus extends CardImpl { + + public CuriousColossus(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); + + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(7); + this.toughness = new MageInt(7); + + // When this creature enters, each creature target opponent controls loses all abilities, becomes a Coward in addition to its other types, and has base power and toughness 1/1. + Ability ability = new EntersBattlefieldTriggeredAbility(new CuriousColossusEffect()); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + } + + private CuriousColossus(final CuriousColossus card) { + super(card); + } + + @Override + public CuriousColossus copy() { + return new CuriousColossus(this); + } +} + +class CuriousColossusEffect extends OneShotEffect { + + CuriousColossusEffect() { + super(Outcome.Benefit); + staticText = "each creature target opponent controls loses all abilities, " + + "becomes a Coward in addition to its other types, and has base power and toughness 1/1"; + } + + private CuriousColossusEffect(final CuriousColossusEffect effect) { + super(effect); + } + + @Override + public CuriousColossusEffect copy() { + return new CuriousColossusEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (player == null) { + return false; + } + List permanents = game.getBattlefield().getActivePermanents( + StaticFilters.FILTER_CONTROLLED_CREATURE, player.getId(), source, game + ); + if (permanents.isEmpty()) { + return false; + } + game.addEffect(new LoseAllAbilitiesTargetEffect(Duration.Custom) + .setTargetPointer(new FixedTargets(permanents, game)), source); + game.addEffect(new AddCardSubTypeTargetEffect(SubType.COWARD, Duration.Custom) + .setTargetPointer(new FixedTargets(permanents, game)), source); + game.addEffect(new SetBasePowerToughnessTargetEffect(1, 1, Duration.Custom) + .setTargetPointer(new FixedTargets(permanents, game)), source); + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsed.java b/Mage.Sets/src/mage/sets/LorwynEclipsed.java index f78f1b03f2c..a2a36e308c7 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsed.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsed.java @@ -96,6 +96,8 @@ public final class LorwynEclipsed extends ExpansionSet { cards.add(new SetCardInfo("Creakwood Safewright", 96, Rarity.UNCOMMON, mage.cards.c.CreakwoodSafewright.class)); cards.add(new SetCardInfo("Crib Swap", 11, Rarity.UNCOMMON, mage.cards.c.CribSwap.class)); cards.add(new SetCardInfo("Crossroads Watcher", 173, Rarity.COMMON, mage.cards.c.CrossroadsWatcher.class)); + cards.add(new SetCardInfo("Curious Colossus", 12, Rarity.MYTHIC, mage.cards.c.CuriousColossus.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Curious Colossus", 298, Rarity.MYTHIC, mage.cards.c.CuriousColossus.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Darkness Descends", 97, Rarity.UNCOMMON, mage.cards.d.DarknessDescends.class)); cards.add(new SetCardInfo("Dawn's Light Archer", 174, Rarity.COMMON, mage.cards.d.DawnsLightArcher.class)); cards.add(new SetCardInfo("Dawnhand Eulogist", 99, Rarity.COMMON, mage.cards.d.DawnhandEulogist.class));