From 39a139832e8117e73d6524221a2f78173b47da11 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 24 Jan 2014 13:04:59 +0100 Subject: [PATCH] [BNG] Added 3 artifact cards and 1 multicolor card. --- .../mage/sets/bornofthegods/GorgonsHead.java | 68 ++++++++++++++++ .../mage/sets/bornofthegods/PillarOfWar.java | 78 +++++++++++++++++++ .../bornofthegods/SirenOfTheSilentSong.java | 78 +++++++++++++++++++ .../sets/bornofthegods/SirenSongLyre.java | 77 ++++++++++++++++++ .../src/mage/sets/theros/ColossusOfAkros.java | 2 +- 5 files changed, 302 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/sets/bornofthegods/GorgonsHead.java create mode 100644 Mage.Sets/src/mage/sets/bornofthegods/PillarOfWar.java create mode 100644 Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheSilentSong.java create mode 100644 Mage.Sets/src/mage/sets/bornofthegods/SirenSongLyre.java diff --git a/Mage.Sets/src/mage/sets/bornofthegods/GorgonsHead.java b/Mage.Sets/src/mage/sets/bornofthegods/GorgonsHead.java new file mode 100644 index 0000000000..5969444399 --- /dev/null +++ b/Mage.Sets/src/mage/sets/bornofthegods/GorgonsHead.java @@ -0,0 +1,68 @@ +/* + * 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.bornofthegods; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class GorgonsHead extends CardImpl { + + public GorgonsHead(UUID ownerId) { + super(ownerId, 158, "Gorgon's Head", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); + this.expansionSetCode = "BNG"; + this.subtype.add("Equipment"); + + // Equipped creature has deathtouch. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT))); + // Equip {2} + this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl("{2}"))); + } + + public GorgonsHead(final GorgonsHead card) { + super(card); + } + + @Override + public GorgonsHead copy() { + return new GorgonsHead(this); + } +} diff --git a/Mage.Sets/src/mage/sets/bornofthegods/PillarOfWar.java b/Mage.Sets/src/mage/sets/bornofthegods/PillarOfWar.java new file mode 100644 index 0000000000..72d7fe1351 --- /dev/null +++ b/Mage.Sets/src/mage/sets/bornofthegods/PillarOfWar.java @@ -0,0 +1,78 @@ +/* + * 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.bornofthegods; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.EnchantedCondition; +import mage.abilities.decorator.ConditionalAsThoughEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.combat.CanAttackAsThoughtItDidntHaveDefenderEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class PillarOfWar extends CardImpl { + + public PillarOfWar(UUID ownerId) { + super(ownerId, 160, "Pillar of War", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + this.expansionSetCode = "BNG"; + this.subtype.add("Golem"); + + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + // As long as Pillar of War is enchanted, it can attack as though it didn't have defender. + Effect effect = new ConditionalAsThoughEffect( + new CanAttackAsThoughtItDidntHaveDefenderEffect(Duration.WhileOnBattlefield), + new EnchantedCondition(), false); + effect.setText("As long as {this} is enchanted, it can attack as though it didn't have defender"); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); + + } + + public PillarOfWar(final PillarOfWar card) { + super(card); + } + + @Override + public PillarOfWar copy() { + return new PillarOfWar(this); + } +} diff --git a/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheSilentSong.java b/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheSilentSong.java new file mode 100644 index 0000000000..b6ad5228f9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/bornofthegods/SirenOfTheSilentSong.java @@ -0,0 +1,78 @@ +/* + * 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.bornofthegods; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DiscardEachPlayerEffect; +import mage.abilities.effects.common.PutTopCardOfYourLibraryIntoGraveEachPlayerEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.InspiredAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; + +/** + * + * @author LevelX2 + */ +public class SirenOfTheSilentSong extends CardImpl { + + public SirenOfTheSilentSong(UUID ownerId) { + super(ownerId, 155, "Siren of the Silent Song", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{U}{B}"); + this.expansionSetCode = "BNG"; + this.subtype.add("Zombie"); + this.subtype.add("Siren"); + + this.color.setBlue(true); + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Inspired - Whenever Siren of the Silent Song becomes untapped, each opponent discards a card, then puts the top card of his or her library into his or her graveyard. + Ability ability = new InspiredAbility(new DiscardEachPlayerEffect(TargetController.OPPONENT)); + Effect effect = new PutTopCardOfYourLibraryIntoGraveEachPlayerEffect(1, TargetController.OPPONENT); + effect.setText(", then puts the top card of his or her library into his or her graveyard"); + ability.addEffect(effect); + this.addAbility(ability); + } + + public SirenOfTheSilentSong(final SirenOfTheSilentSong card) { + super(card); + } + + @Override + public SirenOfTheSilentSong copy() { + return new SirenOfTheSilentSong(this); + } +} diff --git a/Mage.Sets/src/mage/sets/bornofthegods/SirenSongLyre.java b/Mage.Sets/src/mage/sets/bornofthegods/SirenSongLyre.java new file mode 100644 index 0000000000..bbb2d36146 --- /dev/null +++ b/Mage.Sets/src/mage/sets/bornofthegods/SirenSongLyre.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.bornofthegods; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.effects.common.continious.GainAbilityAttachedEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class SirenSongLyre extends CardImpl { + + public SirenSongLyre(UUID ownerId) { + super(ownerId, 161, "Siren Song Lyre", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{2}"); + this.expansionSetCode = "BNG"; + this.subtype.add("Equipment"); + + // Equipped creature has "{2}, {T}: Tap target creature." + Ability grantedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new GenericManaCost(2)); + grantedAbility.addCost(new TapSourceCost()); + grantedAbility.addTarget(new TargetCreaturePermanent(true)); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(grantedAbility, AttachmentType.EQUIPMENT))); + // Equip {2} + this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl("{2}"))); + } + + public SirenSongLyre(final SirenSongLyre card) { + super(card); + } + + @Override + public SirenSongLyre copy() { + return new SirenSongLyre(this); + } +} diff --git a/Mage.Sets/src/mage/sets/theros/ColossusOfAkros.java b/Mage.Sets/src/mage/sets/theros/ColossusOfAkros.java index 625435af7e..22c48090e9 100644 --- a/Mage.Sets/src/mage/sets/theros/ColossusOfAkros.java +++ b/Mage.Sets/src/mage/sets/theros/ColossusOfAkros.java @@ -72,7 +72,7 @@ public class ColossusOfAkros extends CardImpl { Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield), MonstrousCondition.getInstance(), - "As long as Colossus of Akros is monstrous, it has trample")); + "As long as {this} is monstrous, it has trample")); Effect effect = new ConditionalAsThoughEffect(new CanAttackAsThoughtItDidntHaveDefenderEffect(Duration.WhileOnBattlefield), MonstrousCondition.getInstance(), false); effect.setText("and can attack as though it didn't have defender");