diff --git a/Mage.Sets/src/mage/sets/commander/TempleOfTheFalseGod.java b/Mage.Sets/src/mage/sets/commander/TempleOfTheFalseGod.java new file mode 100644 index 00000000000..e19a174cc5d --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander/TempleOfTheFalseGod.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TempleOfTheFalseGod extends mage.sets.commander2013.TempleOfTheFalseGod { + + public TempleOfTheFalseGod(UUID ownerId) { + super(ownerId); + this.cardNumber = 290; + this.expansionSetCode = "CMD"; + } + + public TempleOfTheFalseGod(final TempleOfTheFalseGod card) { + super(card); + } + + @Override + public TempleOfTheFalseGod copy() { + return new TempleOfTheFalseGod(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java b/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java new file mode 100644 index 00000000000..5c8e0c2259f --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java @@ -0,0 +1,170 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander2013; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.FightTargetsEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class MagusOfTheArena extends CardImpl { + + public MagusOfTheArena(UUID ownerId) { + super(ownerId, 115, "Magus of the Arena", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); + this.expansionSetCode = "C13"; + this.subtype.add("Human"); + this.subtype.add("Wizard"); + + this.color.setRed(true); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // {3}, {tap}: Tap target creature you control and target creature of an opponent's choice he or she controls. Those creatures fight each other. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusOfTheArenaEffect(), new GenericManaCost(3)); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetControlledCreaturePermanent(true)); + ability.addTarget(new TargetOpponentsChoiceControlledCreaturePermanent()); + this.addAbility(ability); + } + + public MagusOfTheArena(final MagusOfTheArena card) { + super(card); + } + + @Override + public MagusOfTheArena copy() { + return new MagusOfTheArena(this); + } +} + +class MagusOfTheArenaEffect extends OneShotEffect { + + public MagusOfTheArenaEffect() { + super(Outcome.Benefit); + this.staticText = "Tap target creature you control and target creature of an opponent's choice he or she controls. Those creatures fight each other"; + } + + public MagusOfTheArenaEffect(final MagusOfTheArenaEffect effect) { + super(effect); + } + + @Override + public MagusOfTheArenaEffect copy() { + return new MagusOfTheArenaEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent creature = game.getPermanent(source.getFirstTarget()); + if (creature != null) { + creature.tap(game); + } + creature = game.getPermanent(source.getTargets().get(1).getFirstTarget()); + if (creature != null) { + creature.tap(game); + } + return new FightTargetsEffect().apply(game, source); + } +} + +class TargetOpponentsChoiceControlledCreaturePermanent extends TargetControlledPermanent { + + private UUID opponentId = null; + + public TargetOpponentsChoiceControlledCreaturePermanent() { + super(1, 1, new FilterControlledCreaturePermanent(), false); + this.setRequired(true); + this.targetName = filter.getMessage(); + } + + public TargetOpponentsChoiceControlledCreaturePermanent(final TargetOpponentsChoiceControlledCreaturePermanent target) { + super(target); + this.opponentId = target.opponentId; + } + + @Override + public boolean canTarget(UUID controllerId, UUID id, UUID sourceId, Game game, boolean flag) { + if (opponentId != null) { + return super.canTarget(opponentId, id, sourceId, game, flag); + } + return false; + } + + @Override + public boolean canTarget(UUID controllerId, UUID id, Ability source, Game game) { + if (opponentId != null) { + return super.canTarget(opponentId, id, source, game); + } + return false; + } + + @Override + public boolean chooseTarget(Outcome outcome, UUID playerId, Ability source, Game game) { + return super.chooseTarget(outcome, getOpponentId(playerId, source, game), source, game); + } + + @Override + public TargetOpponentsChoiceControlledCreaturePermanent copy() { + return new TargetOpponentsChoiceControlledCreaturePermanent(this); + } + + private UUID getOpponentId(UUID playerId, Ability source, Game game) { + if (opponentId == null) { + TargetOpponent target = new TargetOpponent(true); + Player player = game.getPlayer(playerId); + if (player != null) { + if (player.chooseTarget(Outcome.Detriment, target, source, game)) { + opponentId = target.getFirstTarget(); + } + } + + } + return opponentId; + } + +} diff --git a/Mage.Sets/src/mage/sets/commander2013/OneDozenEyes.java b/Mage.Sets/src/mage/sets/commander2013/OneDozenEyes.java new file mode 100644 index 00000000000..f27489f58ff --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander2013/OneDozenEyes.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander2013; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Mode; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.EntwineAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.game.permanent.token.InsectToken; +import mage.game.permanent.token.Token; + +/** + * + * @author LevelX2 + */ +public class OneDozenEyes extends CardImpl { + + public OneDozenEyes(UUID ownerId) { + super(ownerId, 159, "One Dozen Eyes", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{5}{G}"); + this.expansionSetCode = "C13"; + + this.color.setGreen(true); + + // Choose one - + this.getSpellAbility().getModes().setMinModes(1); + this.getSpellAbility().getModes().setMaxModes(1); + // Put a 5/5 green Beast creature token onto the battlefield; + this.getSpellAbility().addEffect(new CreateTokenEffect(new OneDozenEyesBeastToken())); + // or put five 1/1 green Insect creature tokens onto the battlefield. + Mode mode = new Mode(); + mode.getEffects().add(new CreateTokenEffect(new InsectToken(),5)); + this.getSpellAbility().addMode(mode); + // Entwine {G}{G}{G} + this.addAbility(new EntwineAbility("{G}{G}{G}")); + } + + public OneDozenEyes(final OneDozenEyes card) { + super(card); + } + + @Override + public OneDozenEyes copy() { + return new OneDozenEyes(this); + } +} + +class OneDozenEyesBeastToken extends Token { + + public OneDozenEyesBeastToken() { + super("Beast", "5/5 green Beast creature token"); + cardType.add(CardType.CREATURE); + color = ObjectColor.GREEN; + subtype.add("Beast"); + power = new MageInt(5); + toughness = new MageInt(5); + } + +} diff --git a/Mage.Sets/src/mage/sets/commander2013/SliceAndDice.java b/Mage.Sets/src/mage/sets/commander2013/SliceAndDice.java new file mode 100644 index 00000000000..56d731b9103 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander2013/SliceAndDice.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander2013; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SliceAndDice extends mage.sets.onslaught.SliceAndDice { + + public SliceAndDice(UUID ownerId) { + super(ownerId); + this.cardNumber = 119; + this.expansionSetCode = "C13"; + } + + public SliceAndDice(final SliceAndDice card) { + super(card); + } + + @Override + public SliceAndDice copy() { + return new SliceAndDice(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander2013/TempleOfTheFalseGod.java b/Mage.Sets/src/mage/sets/commander2013/TempleOfTheFalseGod.java new file mode 100644 index 00000000000..0fc0f880e78 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander2013/TempleOfTheFalseGod.java @@ -0,0 +1,70 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander2013; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.BasicManaEffect; +import mage.abilities.mana.ActivateIfConditionManaAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterLandPermanent; + +/** + * + * @author LevelX2 + */ +public class TempleOfTheFalseGod extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent("you control five or more lands"); + + public TempleOfTheFalseGod(UUID ownerId) { + super(ownerId, 327, "Temple of the False God", Rarity.UNCOMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "C13"; + + // {tap}: Add {2} to your mana pool. Activate this ability only if you control five or more lands. + this.addAbility(new ActivateIfConditionManaAbility( + Zone.BATTLEFIELD, + new BasicManaEffect(Mana.ColorlessMana(2)), + new TapSourceCost(), + new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 4))); + } + + public TempleOfTheFalseGod(final TempleOfTheFalseGod card) { + super(card); + } + + @Override + public TempleOfTheFalseGod copy() { + return new TempleOfTheFalseGod(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java b/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java new file mode 100644 index 00000000000..73be4c2a863 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java @@ -0,0 +1,136 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.commander2013; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterLandCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class TemptWithDiscovery extends CardImpl { + + public TemptWithDiscovery(UUID ownerId) { + super(ownerId, 174, "Tempt with Discovery", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{3}{G}"); + this.expansionSetCode = "C13"; + + this.color.setGreen(true); + + // Tempting offer - Search your library for a land card and put it onto the battlefield. + // Each opponent may search his or her library for a land card and put it onto the battlefield. + // For each opponent who searches a library this way, search your library for a land card and put it onto the battlefield. + // Then each player who searched a library this way shuffles it. + this.getSpellAbility().addEffect(new TemptWithDiscoveryEffect()); + } + + public TemptWithDiscovery(final TemptWithDiscovery card) { + super(card); + } + + @Override + public TemptWithDiscovery copy() { + return new TemptWithDiscovery(this); + } +} + +class TemptWithDiscoveryEffect extends OneShotEffect { + + public TemptWithDiscoveryEffect() { + super(Outcome.PutLandInPlay); + this.staticText = "Tempting offer - Search your library for a land card and put it onto the battlefield. Each opponent may search his or her library for a land card and put it onto the battlefield. For each opponent who searches a library this way, search your library for a land card and put it onto the battlefield. Then each player who searched a library this way shuffles it."; + } + + public TemptWithDiscoveryEffect(final TemptWithDiscoveryEffect effect) { + super(effect); + } + + @Override + public TemptWithDiscoveryEffect copy() { + return new TemptWithDiscoveryEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + TargetCardInLibrary target = new TargetCardInLibrary(new FilterLandCard()); + if (controller.searchLibrary(target, game)) { + for (UUID cardId: target.getTargets()) { + Card card = game.getCard(cardId); + if (card != null) { + card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), controller.getId()); + } + } + } + int opponentsUsedSearch = 0; + for (UUID playerId : game.getOpponents(controller.getId())) { + Player opponent = game.getPlayer(playerId); + if (opponent != null) { + if (opponent.chooseUse(outcome, "Search your library for a land card and put it onto the battlefield?", game)) { + target.clearChosen(); + opponentsUsedSearch++; + if (opponent.searchLibrary(target, game)) { + for (UUID cardId: target.getTargets()) { + Card card = game.getCard(cardId); + if (card != null) { + card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), opponent.getId()); + } + } + } + } + } + } + if (opponentsUsedSearch > 0) { + target = new TargetCardInLibrary(0, opponentsUsedSearch, new FilterLandCard()); + if (controller.searchLibrary(target, game)) { + for (UUID cardId: target.getTargets()) { + Card card = game.getCard(cardId); + if (card != null) { + card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), controller.getId()); + } + } + } + } + return true; + } + + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/mirrodin/OneDozenEyes.java b/Mage.Sets/src/mage/sets/mirrodin/OneDozenEyes.java new file mode 100644 index 00000000000..3518126f722 --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirrodin/OneDozenEyes.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.mirrodin; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class OneDozenEyes extends mage.sets.commander2013.OneDozenEyes { + + public OneDozenEyes(UUID ownerId) { + super(ownerId); + this.cardNumber = 126; + this.expansionSetCode = "MRD"; + } + + public OneDozenEyes(final OneDozenEyes card) { + super(card); + } + + @Override + public OneDozenEyes copy() { + return new OneDozenEyes(this); + } +} diff --git a/Mage.Sets/src/mage/sets/onslaught/SliceAndDice.java b/Mage.Sets/src/mage/sets/onslaught/SliceAndDice.java new file mode 100644 index 00000000000..79066b3aafd --- /dev/null +++ b/Mage.Sets/src/mage/sets/onslaught/SliceAndDice.java @@ -0,0 +1,69 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.onslaught; + +import java.util.UUID; +import mage.abilities.common.CycleTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class SliceAndDice extends CardImpl { + + public SliceAndDice(UUID ownerId) { + super(ownerId, 232, "Slice and Dice", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{R}{R}"); + this.expansionSetCode = "ONS"; + + this.color.setRed(true); + + // Slice and Dice deals 4 damage to each creature. + this.getSpellAbility().addEffect(new DamageAllEffect(4, new FilterCreaturePermanent())); + // Cycling {2}{R} + this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{R}"))); + // When you cycle Slice and Dice, you may have it deal 1 damage to each creature. + this.addAbility(new CycleTriggeredAbility(new DamageAllEffect(1, new FilterCreaturePermanent()), true)); + + } + + public SliceAndDice(final SliceAndDice card) { + super(card); + } + + @Override + public SliceAndDice copy() { + return new SliceAndDice(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/MagusOfTheArena.java b/Mage.Sets/src/mage/sets/planarchaos/MagusOfTheArena.java new file mode 100644 index 00000000000..7b032bcfc81 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/MagusOfTheArena.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planarchaos; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class MagusOfTheArena extends mage.sets.commander2013.MagusOfTheArena { + + public MagusOfTheArena(UUID ownerId) { + super(ownerId); + this.cardNumber = 104; + this.expansionSetCode = "PLC"; + } + + public MagusOfTheArena(final MagusOfTheArena card) { + super(card); + } + + @Override + public MagusOfTheArena copy() { + return new MagusOfTheArena(this); + } +} diff --git a/Mage.Sets/src/mage/sets/scourge/TempleOfTheFalseGod.java b/Mage.Sets/src/mage/sets/scourge/TempleOfTheFalseGod.java new file mode 100644 index 00000000000..5878d211385 --- /dev/null +++ b/Mage.Sets/src/mage/sets/scourge/TempleOfTheFalseGod.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.scourge; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class TempleOfTheFalseGod extends mage.sets.commander2013.TempleOfTheFalseGod { + + public TempleOfTheFalseGod(UUID ownerId) { + super(ownerId); + this.cardNumber = 143; + this.expansionSetCode = "SCG"; + } + + public TempleOfTheFalseGod(final TempleOfTheFalseGod card) { + super(card); + } + + @Override + public TempleOfTheFalseGod copy() { + return new TempleOfTheFalseGod(this); + } +}