diff --git a/Mage.Sets/src/mage/sets/apocalypse/ConsumeStrength.java b/Mage.Sets/src/mage/sets/apocalypse/ConsumeStrength.java new file mode 100644 index 0000000000..fb9e79fba3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/ConsumeStrength.java @@ -0,0 +1,103 @@ +/* + * 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.apocalypse; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.SubLayer; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class ConsumeStrength extends CardImpl<ConsumeStrength> { + + public ConsumeStrength(UUID ownerId) { + super(ownerId, 93, "Consume Strength", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{B}{G}"); + this.expansionSetCode = "APC"; + + this.color.setGreen(true); + this.color.setBlack(true); + + // Target creature gets +2/+2 until end of turn. Another target creature gets -2/-2 until end of turn. + this.getSpellAbility().addEffect(new ConsumeStrengthEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2, true)); + + } + + public ConsumeStrength(final ConsumeStrength card) { + super(card); + } + + @Override + public ConsumeStrength copy() { + return new ConsumeStrength(this); + } +} + +class ConsumeStrengthEffect extends ContinuousEffectImpl<ConsumeStrengthEffect> { + + public ConsumeStrengthEffect() { + super(Duration.EndOfTurn, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); + this.staticText = "Target creature gets +2/+2 until end of turn. Another target creature gets -2/-2 until end of turn"; + } + + public ConsumeStrengthEffect(final ConsumeStrengthEffect effect) { + super(effect); + } + + @Override + public ConsumeStrengthEffect copy() { + return new ConsumeStrengthEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanent(source.getFirstTarget()); + if (permanent != null) { + permanent.addPower(2); + permanent.addToughness(2); + } + permanent = game.getPermanent(source.getTargets().get(0).getTargets().get(1)); + if (permanent != null) { + permanent.addPower(-2); + permanent.addToughness(-2); + } + return true; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/apocalypse/FireIce.java b/Mage.Sets/src/mage/sets/apocalypse/FireIce.java new file mode 100644 index 0000000000..91787fb463 --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/FireIce.java @@ -0,0 +1,83 @@ +/* + * 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.apocalypse; + +import java.util.UUID; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageMultiEffect; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.cards.SplitCard; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreatureOrPlayerAmount; + +/** + * + * @author LevelX2 + */ + + +public class FireIce extends SplitCard<FireIce> { + + public FireIce(UUID ownerId) { + super(ownerId, 128, "Fire", "Ice", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{R}", "{1}{U}", false); + this.expansionSetCode = "APC"; + + this.color.setBlue(true); + this.color.setRed(true); + + // Fire + // Fire deals 2 damage divided as you choose among one or two target creatures and/or players. + getLeftHalfCard().getColor().setRed(true); + Effect effect = new DamageMultiEffect(2); + effect.setText("Fire deals 2 damage divided as you choose among one or two target creatures and/or players"); + getLeftHalfCard().getSpellAbility().addEffect(effect); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(2)); + + // Ice + // Tap target permanent. + // Draw a card. + getRightHalfCard().getColor().setBlue(true); + getRightHalfCard().getSpellAbility().addEffect(new TapTargetEffect()); + getRightHalfCard().getSpellAbility().addTarget(new TargetPermanent(true)); + getRightHalfCard().getSpellAbility().addEffect(new DrawCardControllerEffect(1)); + + } + + public FireIce(final FireIce card) { + super(card); + } + + @Override + public FireIce copy() { + return new FireIce(this); + } +} diff --git a/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java b/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java new file mode 100644 index 0000000000..5600eb7090 --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java @@ -0,0 +1,82 @@ +/* + * 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.apocalypse; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.abilities.effects.common.continious.SetCardColorTargetEffect; +import mage.cards.SplitCard; +import mage.choices.ChoiceColor; +import mage.constants.Duration; +import mage.target.Target; +import mage.target.common.TargetArtifactPermanent; +import mage.target.common.TargetSpellOrPermanent; + +/** + * + * @author LevelX2 + */ + +public class IllusionReality extends SplitCard<IllusionReality> { + + public IllusionReality(UUID ownerId) { + super(ownerId, 129, "Illusion", "Reality", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{U}", "{2}{G}", false); + this.expansionSetCode = "APC"; + + this.color.setBlue(true); + this.color.setGreen(true); + + // Illusion + // Target spell or permanent becomes the color of your choice until end of turn. + getLeftHalfCard().getColor().setBlue(true); + getLeftHalfCard().getSpellAbility().addEffect(new SetCardColorTargetEffect(Duration.EndOfTurn)); + Target target = new TargetSpellOrPermanent(); + target.setRequired(true); + getLeftHalfCard().getSpellAbility().addTarget(target); + getLeftHalfCard().getSpellAbility().addChoice(new ChoiceColor()); + + // Reality + // Destroy target artifact. + getRightHalfCard().getColor().setGreen(true); + getRightHalfCard().getSpellAbility().addTarget(new TargetArtifactPermanent(true)); + getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); + + } + + public IllusionReality(final IllusionReality card) { + super(card); + } + + @Override + public IllusionReality copy() { + return new IllusionReality(this); + } +} diff --git a/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java b/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java new file mode 100644 index 0000000000..2aacbb440f --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java @@ -0,0 +1,131 @@ +/* + * 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.apocalypse; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continious.BecomesCreatureAllEffect; +import mage.cards.Card; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.SplitCard; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.game.permanent.token.Token; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author LevelX2 + */ + +public class LifeDeath extends SplitCard<LifeDeath> { + + public LifeDeath(UUID ownerId) { + super(ownerId, 130, "Life", "Death", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{G}", "{1}{B}", false); + this.expansionSetCode = "APC"; + + this.color.setGreen(true); + this.color.setBlack(true); + + // Life + // All lands you control become 1/1 creatures until end of turn. They're still lands. + getLeftHalfCard().getColor().setGreen(true); + getLeftHalfCard().getSpellAbility().addEffect(new BecomesCreatureAllEffect(new LifeLandToken(), "lands", + new FilterControlledLandPermanent("lands you control"), Duration.EndOfTurn)); + + // Death + // Return target creature card from your graveyard to the battlefield. You lose life equal to its converted mana cost. + getRightHalfCard().getColor().setBlack(true); + Target target = new TargetCardInYourGraveyard(1, new FilterCreatureCard("creature card from your graveyard")); + target.setRequired(true); + getRightHalfCard().getSpellAbility().addTarget(target); + getRightHalfCard().getSpellAbility().addEffect(new DeathEffect()); + + } + + public LifeDeath(final LifeDeath card) { + super(card); + } + + @Override + public LifeDeath copy() { + return new LifeDeath(this); + } +} + +class LifeLandToken extends Token { + public LifeLandToken() { + super("", "1/1 creatures"); + cardType.add(CardType.CREATURE); + power = new MageInt(1); + toughness = new MageInt(1); + } + +} + +class DeathEffect extends OneShotEffect<DeathEffect> { + + public DeathEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "return target creature card from your graveyard to the battlefield. You lose life equal to its converted mana cost"; + } + + public DeathEffect(final DeathEffect effect) { + super(effect); + } + + @Override + public DeathEffect copy() { + return new DeathEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card creatureCard = game.getCard(this.getTargetPointer().getFirst(game, source)); + Player controller = game.getPlayer(source.getControllerId()); + if (creatureCard != null && controller != null) { + boolean result = false; + if (game.getState().getZone(creatureCard.getId()).equals(Zone.GRAVEYARD)) { + result = controller.putOntoBattlefieldWithInfo(creatureCard, game, Zone.GRAVEYARD, source.getSourceId()); + } + controller.loseLife(creatureCard.getManaCost().convertedManaCost(), game); + return result; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/apocalypse/NightDay.java b/Mage.Sets/src/mage/sets/apocalypse/NightDay.java new file mode 100644 index 0000000000..0e2e8e1ef2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/NightDay.java @@ -0,0 +1,125 @@ +/* + * 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.apocalypse; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.SplitCard; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.SubLayer; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.TargetPlayer; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ + +public class NightDay extends SplitCard<NightDay> { + + public NightDay(UUID ownerId) { + super(ownerId, 131, "Night", "Day", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{B}", "{2}{W}", false); + this.expansionSetCode = "APC"; + + this.color.setBlack(true); + this.color.setWhite(true); + + // Night + // Target creature gets -1/-1 until end of turn. + getLeftHalfCard().getColor().setBlack(true); + getLeftHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(-1,-1,Duration.EndOfTurn)); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(true)); + + // Day + // Creatures target player controls get +1/+1 until end of turn. + getRightHalfCard().getColor().setWhite(true); + getRightHalfCard().getSpellAbility().addTarget(new TargetPlayer(true)); + getRightHalfCard().getSpellAbility().addEffect(new DayEffect()); + + } + + public NightDay(final NightDay card) { + super(card); + } + + @Override + public NightDay copy() { + return new NightDay(this); + } +} + +class DayEffect extends ContinuousEffectImpl<DayEffect> { + + public DayEffect() { + super(Duration.EndOfTurn, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); + staticText = "Creatures target player controls get +1/+1 until end of turn"; + } + + public DayEffect(final DayEffect effect) { + super(effect); + } + + @Override + public DayEffect copy() { + return new DayEffect(this); + } + + @Override + public void init(Ability source, Game game) { + super.init(source, game); + if (this.affectedObjectsSet) { + List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getFirstTarget(), game); + for (Permanent creature : creatures) { + objects.add(creature.getId()); + } + } + } + + @Override + public boolean apply(Game game, Ability source) { + List<Permanent> creatures = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), source.getFirstTarget(), game); + for (Permanent creature : creatures) { + if (!this.affectedObjectsSet || objects.contains(creature.getId())) { + creature.addPower(1); + creature.addToughness(1); + } + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java b/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java new file mode 100644 index 0000000000..04b59d7dc0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java @@ -0,0 +1,80 @@ +/* + * 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.apocalypse; + +import java.util.UUID; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.effects.common.combat.CantBlockAllEffect; +import mage.cards.SplitCard; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.Target; +import mage.target.common.TargetAttackingCreature; + +/** + * + * @author LevelX2 + */ + + +public class OrderChaos extends SplitCard<OrderChaos> { + + public OrderChaos(UUID ownerId) { + super(ownerId, 132, "Order", "Chaos", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{3}{W}", "{2}{R}", false); + this.expansionSetCode = "APC"; + + this.color.setWhite(true); + this.color.setRed(true); + + // Order + // Exile target attacking creature. + getLeftHalfCard().getColor().setWhite(true); + getLeftHalfCard().getSpellAbility().addEffect(new ExileTargetEffect()); + Target target = new TargetAttackingCreature(); + target.setRequired(true); + getLeftHalfCard().getSpellAbility().addTarget(target); + + // Chaos + // Creatures can't block this turn. + getRightHalfCard().getColor().setRed(true); + getRightHalfCard().getSpellAbility().addEffect(new CantBlockAllEffect(new FilterCreaturePermanent("Creatures"), Duration.EndOfTurn)); + + } + + public OrderChaos(final OrderChaos card) { + super(card); + } + + @Override + public OrderChaos copy() { + return new OrderChaos(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander/FireIce.java b/Mage.Sets/src/mage/sets/commander/FireIce.java new file mode 100644 index 0000000000..a29db77102 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander/FireIce.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 FireIce extends mage.sets.apocalypse.FireIce { + + public FireIce(UUID ownerId) { + super(ownerId); + this.cardNumber = 198; + this.expansionSetCode = "CMD"; + } + + public FireIce(final FireIce card) { + super(card); + } + + @Override + public FireIce copy() { + return new FireIce(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase/OrderChaos.java b/Mage.Sets/src/mage/sets/planechase/OrderChaos.java new file mode 100644 index 0000000000..eead1850b7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase/OrderChaos.java @@ -0,0 +1,54 @@ +/* + * 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.planechase; + +import java.util.UUID; + +/** + * + * @author Loki + */ +public class OrderChaos extends mage.sets.apocalypse.OrderChaos { + + public OrderChaos (UUID ownerId) { + super(ownerId); + this.cardNumber = 104; + this.expansionSetCode = "HOP"; + } + + public OrderChaos (final OrderChaos card) { + super(card); + } + + @Override + public OrderChaos copy() { + return new OrderChaos(this); + } + +}