From 5d4daab64e5b9bf0003df170e2d221222d2faab1 Mon Sep 17 00:00:00 2001 From: Loki Date: Sun, 5 Feb 2012 17:37:41 +0400 Subject: [PATCH] 3 DKA --- .../sets/darkascension/DrogskolCaptain.java | 83 +++++++++++++++++++ .../sets/darkascension/HecklingFiends.java | 73 ++++++++++++++++ .../sets/darkascension/ReapTheSeagraf.java | 35 ++++++++ .../sets/lorwyn/MudbuttonTorchrunner.java | 2 +- 4 files changed, 192 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/sets/darkascension/DrogskolCaptain.java create mode 100644 Mage.Sets/src/mage/sets/darkascension/HecklingFiends.java create mode 100644 Mage.Sets/src/mage/sets/darkascension/ReapTheSeagraf.java diff --git a/Mage.Sets/src/mage/sets/darkascension/DrogskolCaptain.java b/Mage.Sets/src/mage/sets/darkascension/DrogskolCaptain.java new file mode 100644 index 00000000000..eb181c3ca31 --- /dev/null +++ b/Mage.Sets/src/mage/sets/darkascension/DrogskolCaptain.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.darkascension; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HexproofAbility; +import mage.cards.CardImpl; +import mage.filter.Filter; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author Loki + */ +public class DrogskolCaptain extends CardImpl { + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Spirit"); + + static { + filter.getSubtype().add("Spirit"); + filter.setScopeSubtype(Filter.ComparisonScope.Any); + } + + public DrogskolCaptain(UUID ownerId) { + super(ownerId, 136, "Drogskol Captain", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{W}{U}"); + this.expansionSetCode = "DKA"; + this.subtype.add("Spirit"); + this.subtype.add("Soldier"); + + this.color.setBlue(true); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + this.addAbility(FlyingAbility.getInstance()); + // Other Spirit creatures you control get +1/+1 and have hexproof. + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Constants.Duration.WhileOnBattlefield, filter, true))); + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new GainAbilityControlledEffect(HexproofAbility.getInstance(), Constants.Duration.WhileOnBattlefield, filter, true))); + } + + public DrogskolCaptain(final DrogskolCaptain card) { + super(card); + } + + @Override + public DrogskolCaptain copy() { + return new DrogskolCaptain(this); + } +} diff --git a/Mage.Sets/src/mage/sets/darkascension/HecklingFiends.java b/Mage.Sets/src/mage/sets/darkascension/HecklingFiends.java new file mode 100644 index 00000000000..8eef0ab5635 --- /dev/null +++ b/Mage.Sets/src/mage/sets/darkascension/HecklingFiends.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.darkascension; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.AttacksIfAbleTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class HecklingFiends extends CardImpl { + + public HecklingFiends(UUID ownerId) { + super(ownerId, 92, "Heckling Fiends", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "DKA"; + this.subtype.add("Devil"); + + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {2}{R}: Target creature attacks this turn if able. + SimpleActivatedAbility ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, + new AttacksIfAbleTargetEffect(Constants.Duration.EndOfTurn), + new ManaCostsImpl("{2}{R}")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public HecklingFiends(final HecklingFiends card) { + super(card); + } + + @Override + public HecklingFiends copy() { + return new HecklingFiends(this); + } +} diff --git a/Mage.Sets/src/mage/sets/darkascension/ReapTheSeagraf.java b/Mage.Sets/src/mage/sets/darkascension/ReapTheSeagraf.java new file mode 100644 index 00000000000..1b9cadb592f --- /dev/null +++ b/Mage.Sets/src/mage/sets/darkascension/ReapTheSeagraf.java @@ -0,0 +1,35 @@ +package mage.sets.darkascension; + +import mage.Constants; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.FlashbackAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.ZombieToken; + +import java.util.UUID; + +/** + * @author Loki + */ +public class ReapTheSeagraf extends CardImpl { + + public ReapTheSeagraf(UUID ownerId) { + super(ownerId, 72, "Reap the Seagraf", Constants.Rarity.COMMON, new Constants.CardType[]{Constants.CardType.SORCERY}, "{2}{B}"); + this.expansionSetCode = "DKA"; + + this.color.setBlack(true); + + this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken())); + this.addAbility(new FlashbackAbility(new ManaCostsImpl("{4}{U}"), Constants.TimingRule.SORCERY)); + } + + public ReapTheSeagraf(final ReapTheSeagraf card) { + super(card); + } + + @Override + public ReapTheSeagraf copy() { + return new ReapTheSeagraf(this); + } +} diff --git a/Mage.Sets/src/mage/sets/lorwyn/MudbuttonTorchrunner.java b/Mage.Sets/src/mage/sets/lorwyn/MudbuttonTorchrunner.java index ee2b7c49474..496e4c66447 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/MudbuttonTorchrunner.java +++ b/Mage.Sets/src/mage/sets/lorwyn/MudbuttonTorchrunner.java @@ -52,10 +52,10 @@ public class MudbuttonTorchrunner extends CardImpl { this.color.setRed(true); this.power = new MageInt(1); this.toughness = new MageInt(1); + // When Mudbutton Torchrunner dies, it deals 3 damage to target creature or player. Ability ability = new DiesTriggeredAbility(new DamageTargetEffect(3), false); ability.addTarget(new TargetCreatureOrPlayer()); this.addAbility(ability); - // When Mudbutton Torchrunner dies, it deals 3 damage to target creature or player. } public MudbuttonTorchrunner(final MudbuttonTorchrunner card) {