From 9603fba4e89dbfa9ed78f1a035e62b7c18189ac9 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:00:03 +0200 Subject: [PATCH 01/10] Added card: Pure // Simple --- .../src/mage/sets/dissension/PureSimple.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/PureSimple.java diff --git a/Mage.Sets/src/mage/sets/dissension/PureSimple.java b/Mage.Sets/src/mage/sets/dissension/PureSimple.java new file mode 100644 index 00000000000..9a2b77b35f2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/PureSimple.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.dissension; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.cards.SplitCard; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.mageobject.MulticoloredPredicate; +import mage.target.TargetPermanent; + +/** + * + * @author Wehk + */ +public class PureSimple extends SplitCard { + + private static final FilterPermanent filterAura = new FilterPermanent("aura"); + private static final FilterPermanent filterEquipment = new FilterPermanent("equipment"); + private static final FilterPermanent filterMulticolor = new FilterPermanent("multicolor permanent"); + + static { + filterAura.add(new SubtypePredicate("Aura")); + filterEquipment.add(new SubtypePredicate("Equipment")); + filterMulticolor.add(new MulticoloredPredicate()); + } + + public PureSimple(UUID ownerId) { + super(ownerId, 154, "Pure", "Simple", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{R}{G}", "{1}{G}{W}", true); + this.expansionSetCode = "DIS"; + + // Pure + // Destroy all Auras + getLeftHalfCard().getSpellAbility().addEffect(new DestroyAllEffect(filterAura)); + // and Equipment. + getLeftHalfCard().getSpellAbility().addEffect(new DestroyAllEffect(filterEquipment)); + + // Simple + // Destroy target multicolored permanent. + getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); + getRightHalfCard().getSpellAbility().addTarget(new TargetPermanent(filterMulticolor)); + } + + public PureSimple(final PureSimple card) { + super(card); + } + + @Override + public PureSimple copy() { + return new PureSimple(this); + } +} From 44e1a75cf315b7423c12216c658ce3a69e3220ad Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:00:23 +0200 Subject: [PATCH 02/10] Added card: Shielding Plax --- .../mage/sets/dissension/ShieldingPlax.java | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/ShieldingPlax.java diff --git a/Mage.Sets/src/mage/sets/dissension/ShieldingPlax.java b/Mage.Sets/src/mage/sets/dissension/ShieldingPlax.java new file mode 100644 index 00000000000..3d42a62d49e --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/ShieldingPlax.java @@ -0,0 +1,90 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.CantBeTargetedAttachedEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterStackObject; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Wehk + */ +public class ShieldingPlax extends CardImpl { + + private static final FilterStackObject filter = new FilterStackObject("spells or abilities your opponents control"); + + static { + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + } + + public ShieldingPlax(UUID ownerId) { + super(ownerId, 147, "Shielding Plax", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{G/U}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // When Shielding Plax enters the battlefield, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); + + // Enchanted creature can't be the target of spells or abilities your opponents control. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedAttachedEffect(filter, Duration.WhileOnBattlefield, AttachmentType.AURA))); + } + + public ShieldingPlax(final ShieldingPlax card) { + super(card); + } + + @Override + public ShieldingPlax copy() { + return new ShieldingPlax(this); + } +} From c9ebf10ab1c75f1cdccc9077dd5ed96403759084 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:01:12 +0200 Subject: [PATCH 03/10] Added card: Twinstrike --- .../src/mage/sets/dissension/Twinstrike.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/Twinstrike.java diff --git a/Mage.Sets/src/mage/sets/dissension/Twinstrike.java b/Mage.Sets/src/mage/sets/dissension/Twinstrike.java new file mode 100644 index 00000000000..d502dcd36d3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/Twinstrike.java @@ -0,0 +1,73 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.abilities.condition.InvertCondition; +import mage.abilities.condition.common.HellbentCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Wehk + */ +public class Twinstrike extends CardImpl { + + public Twinstrike(UUID ownerId) { + super(ownerId, 134, "Twinstrike", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{3}{B}{R}"); + this.expansionSetCode = "DIS"; + + // Twinstrike deals 2 damage to each of two target creatures. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new DamageTargetEffect(2), + new InvertCondition(HellbentCondition.getInstance()), + "{this} deals 2 damage to each of two target creatures")); + // Hellbent - Cackling Flames deals 5 damage to that creature or player instead if you have no cards in hand. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new DestroyTargetEffect(), + HellbentCondition.getInstance(), + "

Hellbent - Destroy those creatures instead if you have no cards in hand")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2,2)); + + } + + public Twinstrike(final Twinstrike card) { + super(card); + } + + @Override + public Twinstrike copy() { + return new Twinstrike(this); + } +} From 38b708e57d2448de974dc11ad88f2f3017411a5f Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:01:55 +0200 Subject: [PATCH 04/10] Added card: Plumes of Peace --- .../mage/sets/dissension/PlumesOfPeace.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/PlumesOfPeace.java diff --git a/Mage.Sets/src/mage/sets/dissension/PlumesOfPeace.java b/Mage.Sets/src/mage/sets/dissension/PlumesOfPeace.java new file mode 100644 index 00000000000..14f2cc42c27 --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/PlumesOfPeace.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.dissension; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.ForecastAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Wehk + */ +public class PlumesOfPeace extends CardImpl { + + public PlumesOfPeace(UUID ownerId) { + super(ownerId, 124, "Plumes of Peace", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{U}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); + + // Enchanted creature doesn't untap during its controller's untap step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); + + // Forecast - {W}{U}, Reveal Plumes of Peace from your hand: Tap target creature. + ForecastAbility ability = new ForecastAbility(new TapTargetEffect(), new ManaCostsImpl("{WU}")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public PlumesOfPeace(final PlumesOfPeace card) { + super(card); + } + + @Override + public PlumesOfPeace copy() { + return new PlumesOfPeace(this); + } +} From 5032870311897d7d70035c6ad54cc8e55ea869db Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:02:21 +0200 Subject: [PATCH 05/10] Added card: Skullmead Cauldron --- .../sets/dissension/SkullmeadCauldron.java | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/SkullmeadCauldron.java diff --git a/Mage.Sets/src/mage/sets/dissension/SkullmeadCauldron.java b/Mage.Sets/src/mage/sets/dissension/SkullmeadCauldron.java new file mode 100644 index 00000000000..33153b7619c --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/SkullmeadCauldron.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.dissension; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author Wehk + */ +public class SkullmeadCauldron extends CardImpl { + + public SkullmeadCauldron(UUID ownerId) { + super(ownerId, 167, "Skullmead Cauldron", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{4}"); + this.expansionSetCode = "DIS"; + + // {tap}: You gain 1 life. + Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost()); + this.addAbility(ability1); + + // {tap}, Discard a card: You gain 3 life. + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new TapSourceCost()); + ability2.addCost(new DiscardCardCost()); + this.addAbility(ability2); + } + + public SkullmeadCauldron(final SkullmeadCauldron card) { + super(card); + } + + @Override + public SkullmeadCauldron copy() { + return new SkullmeadCauldron(this); + } +} From 519258573603c7c7d3e714842d7cd470dff8bff4 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:02:44 +0200 Subject: [PATCH 06/10] Added card: Transguild Courier --- .../sets/dissension/TransguildCourier.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/TransguildCourier.java diff --git a/Mage.Sets/src/mage/sets/dissension/TransguildCourier.java b/Mage.Sets/src/mage/sets/dissension/TransguildCourier.java new file mode 100644 index 00000000000..4bd29051c1f --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/TransguildCourier.java @@ -0,0 +1,64 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.MageInt; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author Wehk + */ +public class TransguildCourier extends CardImpl { + + public TransguildCourier(UUID ownerId) { + super(ownerId, 168, "Transguild Courier", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Golem"); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + this.color.setWhite(true); + this.color.setBlue(true); + this.color.setBlack(true); + this.color.setRed(true); + this.color.setGreen(true); + } + + public TransguildCourier(final TransguildCourier card) { + super(card); + } + + @Override + public TransguildCourier copy() { + return new TransguildCourier(this); + } +} From 920d06f850b31205540e80ccbb15e916a699eb27 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:03:17 +0200 Subject: [PATCH 07/10] Added card: Soulsworn Jury --- .../mage/sets/dissension/SoulswornJury.java | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/SoulswornJury.java diff --git a/Mage.Sets/src/mage/sets/dissension/SoulswornJury.java b/Mage.Sets/src/mage/sets/dissension/SoulswornJury.java new file mode 100644 index 00000000000..ad44adfb8be --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/SoulswornJury.java @@ -0,0 +1,84 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.TargetSpell; + +/** + * + * @author Wehk + */ +public class SoulswornJury extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("creature spell"); + + static { + filter.add(new CardTypePredicate(CardType.CREATURE)); + } + + + public SoulswornJury(UUID ownerId) { + super(ownerId, 17, "Soulsworn Jury", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Spirit"); + this.power = new MageInt(1); + this.toughness = new MageInt(4); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // {1}{U}, Sacrifice Soulsworn Jury: Counter target creature spell. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{1U}")); + ability.addTarget(new TargetSpell(filter)); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public SoulswornJury(final SoulswornJury card) { + super(card); + } + + @Override + public SoulswornJury copy() { + return new SoulswornJury(this); + } +} From 223b42085ba41f60ce57a4b9ce699210141bd63e Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:03:41 +0200 Subject: [PATCH 08/10] Added card: Govern the Guildless --- .../sets/dissension/GovernTheGuildless.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/GovernTheGuildless.java diff --git a/Mage.Sets/src/mage/sets/dissension/GovernTheGuildless.java b/Mage.Sets/src/mage/sets/dissension/GovernTheGuildless.java new file mode 100644 index 00000000000..f7efbc5fbfb --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/GovernTheGuildless.java @@ -0,0 +1,77 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BecomesColorTargetEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.keyword.ForecastAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.MonocoloredPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Wehk + */ +public class GovernTheGuildless extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); + + static { + filter.add(new MonocoloredPredicate()); + } + + public GovernTheGuildless(UUID ownerId) { + super(ownerId, 25, "Govern the Guildless", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{5}{U}"); + this.expansionSetCode = "DIS"; + + // Gain control of target monocolored creature. + this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfGame)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + + // Forecast - {1}{U}, Reveal Govern the Guildless from your hand: Target creature becomes the color or colors of your choice until end of turn. + ForecastAbility ability = new ForecastAbility(new BecomesColorTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1U}")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public GovernTheGuildless(final GovernTheGuildless card) { + super(card); + } + + @Override + public GovernTheGuildless copy() { + return new GovernTheGuildless(this); + } +} From 21ecd16ce5d01c4e9052d778823de3e00242d216 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:04:18 +0200 Subject: [PATCH 09/10] Added card: Enemy of the Guildpact --- .../sets/dissension/EnemyOfTheGuildpact.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/dissension/EnemyOfTheGuildpact.java diff --git a/Mage.Sets/src/mage/sets/dissension/EnemyOfTheGuildpact.java b/Mage.Sets/src/mage/sets/dissension/EnemyOfTheGuildpact.java new file mode 100644 index 00000000000..b7119296691 --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/EnemyOfTheGuildpact.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.dissension; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.ProtectionAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.FilterObject; +import mage.filter.predicate.mageobject.MulticoloredPredicate; + +/** + * + * @author Wehk + */ +public class EnemyOfTheGuildpact extends CardImpl { + + private static final FilterObject filter = new FilterObject("multicolored"); + + static { + filter.add(new MulticoloredPredicate()); + } + + public EnemyOfTheGuildpact(UUID ownerId) { + super(ownerId, 44, "Enemy of the Guildpact", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{B}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Spirit"); + this.power = new MageInt(4); + this.toughness = new MageInt(2); + + // Protection from multicolored + this.addAbility(new ProtectionAbility(filter)); + } + + public EnemyOfTheGuildpact(final EnemyOfTheGuildpact card) { + super(card); + } + + @Override + public EnemyOfTheGuildpact copy() { + return new EnemyOfTheGuildpact(this); + } +} From 03ddb1815832b396dbc55884ad00e32834fff048 Mon Sep 17 00:00:00 2001 From: Wehk Date: Thu, 9 Jul 2015 18:05:08 +0200 Subject: [PATCH 10/10] Omitted superfluous import --- Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheFangedCoast.java | 1 - 1 file changed, 1 deletion(-) diff --git a/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheFangedCoast.java b/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheFangedCoast.java index 8ac92166e2e..66dc2bc0e17 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheFangedCoast.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheFangedCoast.java @@ -33,7 +33,6 @@ import mage.abilities.TriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.TributeNotPaidCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.FightTargetsEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.TributeAbility;