From b1e37fa090d581bec8d34f9cc32cb1a073cdaa45 Mon Sep 17 00:00:00 2001 From: Plopman <plopman@hotmail.ch> Date: Tue, 23 Oct 2012 15:28:45 +0200 Subject: [PATCH] [8ED] 11 cards --- .../mage/sets/eighthedition/AvatarOfHope.java | 52 +++++ .../sets/eighthedition/BlindingAngel.java | 52 +++++ .../mage/sets/eighthedition/Evacuation.java | 52 +++++ .../mage/sets/eighthedition/HealingSalve.java | 52 +++++ .../mage/sets/eighthedition/Hibernation.java | 52 +++++ .../sets/eighthedition/IntruderAlarm.java | 52 +++++ .../src/mage/sets/eighthedition/Karma.java | 52 +++++ .../mage/sets/eighthedition/MasterHealer.java | 52 +++++ .../mage/sets/eighthedition/SeaMonster.java | 52 +++++ .../sets/eighthedition/StealArtifact.java | 52 +++++ .../sets/eighthedition/WrathOfMaritLage.java | 54 +++++ .../mage/sets/fifthedition/HealingSalve.java | 52 +++++ .../src/mage/sets/fifthedition/Karma.java | 114 ++++++++++ .../mage/sets/fifthedition/StealArtifact.java | 52 +++++ .../mage/sets/fourthedition/HealingSalve.java | 52 +++++ .../src/mage/sets/fourthedition/Karma.java | 52 +++++ .../sets/fourthedition/StealArtifact.java | 52 +++++ .../mage/sets/iceage/WrathOfMaritLage.java | 155 ++++++++++++++ .../src/mage/sets/mirage/HealingSalve.java | 52 +++++ .../src/mage/sets/nemesis/BlindingAngel.java | 100 +++++++++ .../mage/sets/ninthedition/BlindingAngel.java | 52 +++++ .../mage/sets/ninthedition/Evacuation.java | 52 +++++ .../mage/sets/ninthedition/MasterHealer.java | 72 +++++++ .../mage/sets/ninthedition/SeaMonster.java | 52 +++++ .../src/mage/sets/prophecy/AvatarOfHope.java | 199 ++++++++++++++++++ .../mage/sets/seventhedition/Evacuation.java | 52 +++++ .../sets/seventhedition/HealingSalve.java | 72 +++++++ .../mage/sets/seventhedition/Hibernation.java | 52 +++++ .../sets/seventhedition/MasterHealer.java | 52 +++++ .../mage/sets/seventhedition/SeaMonster.java | 52 +++++ .../sets/seventhedition/StealArtifact.java | 75 +++++++ .../mage/sets/sixthedition/HealingSalve.java | 52 +++++ .../mage/sets/sixthedition/SeaMonster.java | 52 +++++ .../src/mage/sets/stronghold/Evacuation.java | 94 +++++++++ .../mage/sets/stronghold/IntruderAlarm.java | 191 +++++++++++++++++ .../src/mage/sets/tempest/SeaMonster.java | 113 ++++++++++ Mage.Sets/src/mage/sets/tenth/Evacuation.java | 52 +++++ Mage.Sets/src/mage/sets/tenth/SeaMonster.java | 52 +++++ .../mage/sets/urzasdestiny/MasterHealer.java | 52 +++++ .../src/mage/sets/urzassaga/HealingSalve.java | 52 +++++ .../src/mage/sets/urzassaga/Hibernation.java | 98 +++++++++ 41 files changed, 2845 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/eighthedition/AvatarOfHope.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/BlindingAngel.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/Evacuation.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/Hibernation.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/IntruderAlarm.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/Karma.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/MasterHealer.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/StealArtifact.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/WrathOfMaritLage.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/Karma.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/StealArtifact.java create mode 100644 Mage.Sets/src/mage/sets/fourthedition/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/fourthedition/Karma.java create mode 100644 Mage.Sets/src/mage/sets/fourthedition/StealArtifact.java create mode 100644 Mage.Sets/src/mage/sets/iceage/WrathOfMaritLage.java create mode 100644 Mage.Sets/src/mage/sets/mirage/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/BlindingAngel.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/Evacuation.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/MasterHealer.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/prophecy/AvatarOfHope.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/Evacuation.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/Hibernation.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/MasterHealer.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java create mode 100644 Mage.Sets/src/mage/sets/sixthedition/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/sixthedition/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/stronghold/Evacuation.java create mode 100644 Mage.Sets/src/mage/sets/stronghold/IntruderAlarm.java create mode 100644 Mage.Sets/src/mage/sets/tempest/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/tenth/Evacuation.java create mode 100644 Mage.Sets/src/mage/sets/tenth/SeaMonster.java create mode 100644 Mage.Sets/src/mage/sets/urzasdestiny/MasterHealer.java create mode 100644 Mage.Sets/src/mage/sets/urzassaga/HealingSalve.java create mode 100644 Mage.Sets/src/mage/sets/urzassaga/Hibernation.java diff --git a/Mage.Sets/src/mage/sets/eighthedition/AvatarOfHope.java b/Mage.Sets/src/mage/sets/eighthedition/AvatarOfHope.java new file mode 100644 index 0000000000..bc55bd9743 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/AvatarOfHope.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class AvatarOfHope extends mage.sets.prophecy.AvatarOfHope { + + public AvatarOfHope(UUID ownerId) { + super(ownerId); + this.cardNumber = 4; + this.expansionSetCode = "8ED"; + } + + public AvatarOfHope(final AvatarOfHope card) { + super(card); + } + + @Override + public AvatarOfHope copy() { + return new AvatarOfHope(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/BlindingAngel.java b/Mage.Sets/src/mage/sets/eighthedition/BlindingAngel.java new file mode 100644 index 0000000000..c1c1f6e814 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/BlindingAngel.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class BlindingAngel extends mage.sets.nemesis.BlindingAngel { + + public BlindingAngel(UUID ownerId) { + super(ownerId); + this.cardNumber = 8; + this.expansionSetCode = "8ED"; + } + + public BlindingAngel(final BlindingAngel card) { + super(card); + } + + @Override + public BlindingAngel copy() { + return new BlindingAngel(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/Evacuation.java b/Mage.Sets/src/mage/sets/eighthedition/Evacuation.java new file mode 100644 index 0000000000..628583430b --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/Evacuation.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Evacuation extends mage.sets.stronghold.Evacuation { + + public Evacuation(UUID ownerId) { + super(ownerId); + this.cardNumber = 76; + this.expansionSetCode = "8ED"; + } + + public Evacuation(final Evacuation card) { + super(card); + } + + @Override + public Evacuation copy() { + return new Evacuation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/HealingSalve.java b/Mage.Sets/src/mage/sets/eighthedition/HealingSalve.java new file mode 100644 index 0000000000..6cec5a8398 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/HealingSalve.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 22; + this.expansionSetCode = "8ED"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/Hibernation.java b/Mage.Sets/src/mage/sets/eighthedition/Hibernation.java new file mode 100644 index 0000000000..4e8bbca8f4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/Hibernation.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Hibernation extends mage.sets.urzassaga.Hibernation { + + public Hibernation(UUID ownerId) { + super(ownerId); + this.cardNumber = 82; + this.expansionSetCode = "8ED"; + } + + public Hibernation(final Hibernation card) { + super(card); + } + + @Override + public Hibernation copy() { + return new Hibernation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/IntruderAlarm.java b/Mage.Sets/src/mage/sets/eighthedition/IntruderAlarm.java new file mode 100644 index 0000000000..b5bf39563c --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/IntruderAlarm.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class IntruderAlarm extends mage.sets.stronghold.IntruderAlarm { + + public IntruderAlarm(UUID ownerId) { + super(ownerId); + this.cardNumber = 86; + this.expansionSetCode = "8ED"; + } + + public IntruderAlarm(final IntruderAlarm card) { + super(card); + } + + @Override + public IntruderAlarm copy() { + return new IntruderAlarm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/Karma.java b/Mage.Sets/src/mage/sets/eighthedition/Karma.java new file mode 100644 index 0000000000..d177978a25 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/Karma.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Karma extends mage.sets.fifthedition.Karma { + + public Karma(UUID ownerId) { + super(ownerId); + this.cardNumber = 28; + this.expansionSetCode = "8ED"; + } + + public Karma(final Karma card) { + super(card); + } + + @Override + public Karma copy() { + return new Karma(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/MasterHealer.java b/Mage.Sets/src/mage/sets/eighthedition/MasterHealer.java new file mode 100644 index 0000000000..7a7772ac38 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/MasterHealer.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class MasterHealer extends mage.sets.ninthedition.MasterHealer { + + public MasterHealer(UUID ownerId) { + super(ownerId); + this.cardNumber = 30; + this.expansionSetCode = "8ED"; + } + + public MasterHealer(final MasterHealer card) { + super(card); + } + + @Override + public MasterHealer copy() { + return new MasterHealer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/SeaMonster.java b/Mage.Sets/src/mage/sets/eighthedition/SeaMonster.java new file mode 100644 index 0000000000..ba1f125af2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/SeaMonster.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class SeaMonster extends mage.sets.tempest.SeaMonster { + + public SeaMonster(UUID ownerId) { + super(ownerId); + this.cardNumber = 99; + this.expansionSetCode = "8ED"; + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/StealArtifact.java b/Mage.Sets/src/mage/sets/eighthedition/StealArtifact.java new file mode 100644 index 0000000000..4fdc4e7066 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/StealArtifact.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.eighthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class StealArtifact extends mage.sets.seventhedition.StealArtifact { + + public StealArtifact(UUID ownerId) { + super(ownerId); + this.cardNumber = 103; + this.expansionSetCode = "8ED"; + } + + public StealArtifact(final StealArtifact card) { + super(card); + } + + @Override + public StealArtifact copy() { + return new StealArtifact(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eighthedition/WrathOfMaritLage.java b/Mage.Sets/src/mage/sets/eighthedition/WrathOfMaritLage.java new file mode 100644 index 0000000000..bd2ff12032 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/WrathOfMaritLage.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.eighthedition; + +import java.util.UUID; +import mage.Constants.Rarity; + +/** + * + * @author Plopman + */ +public class WrathOfMaritLage extends mage.sets.iceage.WrathOfMaritLage { + + public WrathOfMaritLage(UUID ownerId) { + super(ownerId); + this.cardNumber = 115; + this.expansionSetCode = "8ED"; + this.rarity = Rarity.UNCOMMON; + } + + public WrathOfMaritLage(final WrathOfMaritLage card) { + super(card); + } + + @Override + public WrathOfMaritLage copy() { + return new WrathOfMaritLage(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/HealingSalve.java b/Mage.Sets/src/mage/sets/fifthedition/HealingSalve.java new file mode 100644 index 0000000000..a6c6aa2225 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/HealingSalve.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.fifthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 309; + this.expansionSetCode = "5ED"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/Karma.java b/Mage.Sets/src/mage/sets/fifthedition/Karma.java new file mode 100644 index 0000000000..931dd1e16e --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/Karma.java @@ -0,0 +1,114 @@ +/* + * 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.fifthedition; + +import java.util.UUID; +import javax.smartcardio.CardTerminal; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author Plopman + */ +public class Karma extends CardImpl<Karma> { + + + + public Karma(UUID ownerId) { + super(ownerId, 318, "Karma", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); + this.expansionSetCode = "5ED"; + + this.color.setWhite(true); + + // At the beginning of each player's upkeep, Karma deals damage to that player equal to the number of Swamps he or she controls. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KarmaDamageTargetEffect(), Constants.TargetController.ANY, false)); + } + + public Karma(final Karma card) { + super(card); + } + + @Override + public Karma copy() { + return new Karma(this); + } +} + +class KarmaDamageTargetEffect extends OneShotEffect<KarmaDamageTargetEffect>{ + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Swamps"); + static{ + filter.add(new CardTypePredicate(CardType.LAND)); + filter.add(new SubtypePredicate("Swamp")); + } + + public KarmaDamageTargetEffect() + { + super(Constants.Outcome.Damage); + } + + public KarmaDamageTargetEffect(KarmaDamageTargetEffect copy) + { + super(copy); + } + + @Override + public String getText(Mode mode) { + return "{this} deals damage to that player equal to the number of Swamps he or she controls"; + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(targetPointer.getFirst(game, source)); + if (player != null) { + int damage = game.getBattlefield().getAllActivePermanents(filter,targetPointer.getFirst(game, source) , game).size(); + player.damage(damage, source.getSourceId(), game, false, true); + return true; + } + return false; + } + + @Override + public KarmaDamageTargetEffect copy() { + return new KarmaDamageTargetEffect(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fifthedition/StealArtifact.java b/Mage.Sets/src/mage/sets/fifthedition/StealArtifact.java new file mode 100644 index 0000000000..810fe60932 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/StealArtifact.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.fifthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class StealArtifact extends mage.sets.seventhedition.StealArtifact { + + public StealArtifact(UUID ownerId) { + super(ownerId); + this.cardNumber = 128; + this.expansionSetCode = "5ED"; + } + + public StealArtifact(final StealArtifact card) { + super(card); + } + + @Override + public StealArtifact copy() { + return new StealArtifact(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/HealingSalve.java b/Mage.Sets/src/mage/sets/fourthedition/HealingSalve.java new file mode 100644 index 0000000000..72e4b8d182 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/HealingSalve.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.fourthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 278; + this.expansionSetCode = "4ED"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/Karma.java b/Mage.Sets/src/mage/sets/fourthedition/Karma.java new file mode 100644 index 0000000000..6c305ebecb --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/Karma.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.fourthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Karma extends mage.sets.fifthedition.Karma { + + public Karma(UUID ownerId) { + super(ownerId); + this.cardNumber = 282; + this.expansionSetCode = "4ED"; + } + + public Karma(final Karma card) { + super(card); + } + + @Override + public Karma copy() { + return new Karma(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/StealArtifact.java b/Mage.Sets/src/mage/sets/fourthedition/StealArtifact.java new file mode 100644 index 0000000000..e09627a0ab --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/StealArtifact.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.fourthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class StealArtifact extends mage.sets.seventhedition.StealArtifact { + + public StealArtifact(UUID ownerId) { + super(ownerId); + this.cardNumber = 105; + this.expansionSetCode = "4ED"; + } + + public StealArtifact(final StealArtifact card) { + super(card); + } + + @Override + public StealArtifact copy() { + return new StealArtifact(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/WrathOfMaritLage.java b/Mage.Sets/src/mage/sets/iceage/WrathOfMaritLage.java new file mode 100644 index 0000000000..47ace86968 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/WrathOfMaritLage.java @@ -0,0 +1,155 @@ +/* + * 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.iceage; + +import java.util.List; +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; + +/** + * + * @author Plopman + */ +public class WrathOfMaritLage extends CardImpl<WrathOfMaritLage> { + + + + public WrathOfMaritLage(UUID ownerId) { + super(ownerId, 109, "Wrath of Marit Lage", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}"); + this.expansionSetCode = "ICE"; + + this.color.setBlue(true); + + // When Wrath of Marit Lage enters the battlefield, tap all red creatures. + this.addAbility(new EntersBattlefieldTriggeredAbility(new TapAllEffect())); + // Red creatures don't untap during their controllers' untap steps. + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new DontUntapEffect())); + } + + public WrathOfMaritLage(final WrathOfMaritLage card) { + super(card); + } + + @Override + public WrathOfMaritLage copy() { + return new WrathOfMaritLage(this); + } +} + +class TapAllEffect extends OneShotEffect<TapAllEffect> { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Red creature"); + static{ + filter.add(new ColorPredicate(ObjectColor.RED)); + } + + public TapAllEffect() { + super(Outcome.Tap); + staticText = "tap all red creatures"; + } + + public TapAllEffect(final TapAllEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + + List<Permanent> creatures = game.getBattlefield().getActivePermanents(filter, source.getSourceId(), game); + for (Permanent creature : creatures) { + creature.tap(game); + } + return true; + } + + @Override + public TapAllEffect copy() { + return new TapAllEffect(this); + } +} + + +class DontUntapEffect extends ReplacementEffectImpl<DontUntapEffect> { + + + public DontUntapEffect() { + super(Constants.Duration.WhileOnBattlefield, Outcome.Detriment); + } + + public DontUntapEffect(final DontUntapEffect effect) { + super(effect); + } + + @Override + public DontUntapEffect copy() { + return new DontUntapEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + used = false; + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + Permanent creature = game.getPermanent(event.getTargetId()); + if (game.getTurn().getStepType() == Constants.PhaseStep.UNTAP && event.getType() == GameEvent.EventType.UNTAP + && creature != null && creature.getCardType().contains(CardType.CREATURE) && creature.getColor().isRed() && creature.getControllerId() == event.getPlayerId()) { + return true; + } + return false; + } + + @Override + public String getText(Mode mode) { + return "Red creatures don't untap during their controllers' untap steps"; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/mirage/HealingSalve.java b/Mage.Sets/src/mage/sets/mirage/HealingSalve.java new file mode 100644 index 0000000000..9325b4904a --- /dev/null +++ b/Mage.Sets/src/mage/sets/mirage/HealingSalve.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.mirage; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 224; + this.expansionSetCode = "MIR"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java b/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java new file mode 100644 index 0000000000..d4b3afff10 --- /dev/null +++ b/Mage.Sets/src/mage/sets/nemesis/BlindingAngel.java @@ -0,0 +1,100 @@ +/* + * 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.nemesis; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.game.turn.TurnMod; + +/** + * + * @author Plopman + */ +public class BlindingAngel extends CardImpl<BlindingAngel> { + + public BlindingAngel(UUID ownerId) { + super(ownerId, 3, "Blinding Angel", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + this.expansionSetCode = "NMS"; + this.subtype.add("Angel"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Whenever Blinding Angel deals combat damage to a player, that player skips his or her next combat phase. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new SkipNextCombatEffect(), false, true)); + } + + public BlindingAngel(final BlindingAngel card) { + super(card); + } + + @Override + public BlindingAngel copy() { + return new BlindingAngel(this); + } +} + +class SkipNextCombatEffect extends OneShotEffect<SkipNextCombatEffect> { + + public SkipNextCombatEffect() { + super(Outcome.Detriment); + staticText = "that player skips his or her next combat phase"; + } + + public SkipNextCombatEffect(SkipNextCombatEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + UUID targetId = source.getFirstTarget(); + if (targetId != null) { + game.getState().getTurnMods().add(new TurnMod(targetId, Constants.TurnPhase.COMBAT, null, true)); + return true; + } + return false; + } + + @Override + public SkipNextCombatEffect copy() { + return new SkipNextCombatEffect(); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/ninthedition/BlindingAngel.java b/Mage.Sets/src/mage/sets/ninthedition/BlindingAngel.java new file mode 100644 index 0000000000..6d22ee1c1e --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/BlindingAngel.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.ninthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class BlindingAngel extends mage.sets.nemesis.BlindingAngel { + + public BlindingAngel(UUID ownerId) { + super(ownerId); + this.cardNumber = 7; + this.expansionSetCode = "9ED"; + } + + public BlindingAngel(final BlindingAngel card) { + super(card); + } + + @Override + public BlindingAngel copy() { + return new BlindingAngel(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ninthedition/Evacuation.java b/Mage.Sets/src/mage/sets/ninthedition/Evacuation.java new file mode 100644 index 0000000000..230f46094c --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/Evacuation.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.ninthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Evacuation extends mage.sets.stronghold.Evacuation { + + public Evacuation(UUID ownerId) { + super(ownerId); + this.cardNumber = 75; + this.expansionSetCode = "9ED"; + } + + public Evacuation(final Evacuation card) { + super(card); + } + + @Override + public Evacuation copy() { + return new Evacuation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ninthedition/MasterHealer.java b/Mage.Sets/src/mage/sets/ninthedition/MasterHealer.java new file mode 100644 index 0000000000..967225ba73 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/MasterHealer.java @@ -0,0 +1,72 @@ +/* + * 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.ninthedition; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.PreventDamageTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author Plopman + */ +public class MasterHealer extends CardImpl<MasterHealer> { + + public MasterHealer(UUID ownerId) { + super(ownerId, 28, "Master Healer", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{W}"); + this.expansionSetCode = "9ED"; + this.subtype.add("Human"); + this.subtype.add("Cleric"); + + this.color.setWhite(true); + this.power = new MageInt(1); + this.toughness = new MageInt(4); + + // {tap}: Prevent the next 4 damage that would be dealt to target creature or player this turn. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new PreventDamageTargetEffect(Constants.Duration.EndOfTurn, 4), new TapSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public MasterHealer(final MasterHealer card) { + super(card); + } + + @Override + public MasterHealer copy() { + return new MasterHealer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ninthedition/SeaMonster.java b/Mage.Sets/src/mage/sets/ninthedition/SeaMonster.java new file mode 100644 index 0000000000..2a5df6a456 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/SeaMonster.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.ninthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class SeaMonster extends mage.sets.tempest.SeaMonster { + + public SeaMonster(UUID ownerId) { + super(ownerId); + this.cardNumber = 96; + this.expansionSetCode = "9ED"; + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/prophecy/AvatarOfHope.java b/Mage.Sets/src/mage/sets/prophecy/AvatarOfHope.java new file mode 100644 index 0000000000..8bbf2dba29 --- /dev/null +++ b/Mage.Sets/src/mage/sets/prophecy/AvatarOfHope.java @@ -0,0 +1,199 @@ +/* + * 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.prophecy; + +import java.util.UUID; +import mage.Constants; +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.Constants.Zone; +import mage.MageInt; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.AdjustingSourceCosts; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.CostModificationEffectImpl; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.util.CardUtil; + +/** + * + * @author Plopman + */ +public class AvatarOfHope extends CardImpl<AvatarOfHope> { + + public AvatarOfHope(UUID ownerId) { + super(ownerId, 3, "Avatar of Hope", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{6}{W}{W}"); + this.expansionSetCode = "PCY"; + this.subtype.add("Avatar"); + + this.color.setWhite(true); + this.power = new MageInt(4); + this.toughness = new MageInt(9); + + // If you have 3 or less life, Avatar of Hope costs {6} less to cast. + this.addAbility(new AdjustingCostsAbility()); + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Avatar of Hope can block any number of creatures. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AvatarOfHopeEffect())); + } + + public AvatarOfHope(final AvatarOfHope card) { + super(card); + } + + @Override + public AvatarOfHope copy() { + return new AvatarOfHope(this); + } +} + + +class AdjustingCostsAbility extends SimpleStaticAbility implements AdjustingSourceCosts { + + + + public AdjustingCostsAbility() { + super(Constants.Zone.OUTSIDE, new AdjustingCostsEffect()); + } + + public AdjustingCostsAbility(final AdjustingCostsAbility ability) { + super(ability); + } + + @Override + public SimpleStaticAbility copy() { + return new AdjustingCostsAbility(this); + } + + @Override + public String getRule() { + return "If you have 3 or less life, Avatar of Hope costs {6} less to cast"; + } + + @Override + public void adjustCosts(Ability ability, Game game) { + Player player = game.getPlayer(ability.getControllerId()); + if (player != null && player.getLife() < 4) { + CardUtil.adjustCost((SpellAbility)ability, 6); + } + } +} + +class AdjustingCostsEffect extends CostModificationEffectImpl<AdjustingCostsEffect> { + + public AdjustingCostsEffect() { + super(Constants.Duration.Custom, Constants.Outcome.Benefit); + } + + public AdjustingCostsEffect(final AdjustingCostsEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source, Ability abilityToModify) { + SpellAbility spellAbility = (SpellAbility)abilityToModify; + Mana mana = spellAbility.getManaCostsToPay().getMana(); + Player player = game.getPlayer(source.getControllerId()); + + if (mana.getColorless() > 0 && player != null && player.getLife() < 4) { + int newCount = mana.getColorless() - 6; + if (newCount < 0) newCount = 0; + mana.setColorless(newCount); + spellAbility.getManaCostsToPay().load(mana.toString()); + return true; + } + return false; + } + + @Override + public boolean applies(Ability abilityToModify, Ability source, Game game) { + if (abilityToModify instanceof SpellAbility && abilityToModify.getSourceId().equals(source.getSourceId())) { + return true; + } + return false; + } + + @Override + public AdjustingCostsEffect copy() { + return new AdjustingCostsEffect(this); + } +} + +class AvatarOfHopeEffect extends ContinuousEffectImpl<AvatarOfHopeEffect> { + + public AvatarOfHopeEffect() { + super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "{this} can block any number of creatures"; + } + + public AvatarOfHopeEffect(final AvatarOfHopeEffect effect) { + super(effect); + } + + @Override + public AvatarOfHopeEffect copy() { + return new AvatarOfHopeEffect(this); + } + + @Override + public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { + Permanent perm = game.getPermanent(source.getSourceId()); + if (perm != null) { + switch (layer) { + case RulesEffects: + perm.setMaxBlocks(0); + break; + } + return true; + } + return false; + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean hasLayer(Layer layer) { + return layer == Layer.RulesEffects; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/seventhedition/Evacuation.java b/Mage.Sets/src/mage/sets/seventhedition/Evacuation.java new file mode 100644 index 0000000000..361c362df9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/Evacuation.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.seventhedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Evacuation extends mage.sets.stronghold.Evacuation { + + public Evacuation(UUID ownerId) { + super(ownerId); + this.cardNumber = 72; + this.expansionSetCode = "7ED"; + } + + public Evacuation(final Evacuation card) { + super(card); + } + + @Override + public Evacuation copy() { + return new Evacuation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/HealingSalve.java b/Mage.Sets/src/mage/sets/seventhedition/HealingSalve.java new file mode 100644 index 0000000000..c17215c687 --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/HealingSalve.java @@ -0,0 +1,72 @@ +/* + * 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.seventhedition; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Mode; +import mage.abilities.effects.common.GainLifeTargetEffect; +import mage.abilities.effects.common.PreventDamageTargetEffect; +import mage.cards.CardImpl; +import mage.target.TargetPlayer; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author Plopman + */ +public class HealingSalve extends CardImpl<HealingSalve> { + + public HealingSalve(UUID ownerId) { + super(ownerId, 18, "Healing Salve", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{W}"); + this.expansionSetCode = "7ED"; + + this.color.setWhite(true); + + // Choose one - Target player gains 3 life; or prevent the next 3 damage that would be dealt to target creature or player this turn. + this.getSpellAbility().addEffect(new GainLifeTargetEffect(3)); + this.getSpellAbility().addTarget(new TargetPlayer()); + + Mode mode = new Mode(); + mode.getEffects().add(new PreventDamageTargetEffect(Constants.Duration.EndOfTurn, 3)); + mode.getTargets().add(new TargetCreatureOrPlayer()); + + this.getSpellAbility().addMode(mode); + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/Hibernation.java b/Mage.Sets/src/mage/sets/seventhedition/Hibernation.java new file mode 100644 index 0000000000..b4dc6dd120 --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/Hibernation.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.seventhedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Hibernation extends mage.sets.urzassaga.Hibernation { + + public Hibernation(UUID ownerId) { + super(ownerId); + this.cardNumber = 79; + this.expansionSetCode = "7ED"; + } + + public Hibernation(final Hibernation card) { + super(card); + } + + @Override + public Hibernation copy() { + return new Hibernation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/MasterHealer.java b/Mage.Sets/src/mage/sets/seventhedition/MasterHealer.java new file mode 100644 index 0000000000..2ca86ba7d8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/MasterHealer.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.seventhedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class MasterHealer extends mage.sets.ninthedition.MasterHealer { + + public MasterHealer(UUID ownerId) { + super(ownerId); + this.cardNumber = 27; + this.expansionSetCode = "7ED"; + } + + public MasterHealer(final MasterHealer card) { + super(card); + } + + @Override + public MasterHealer copy() { + return new MasterHealer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/SeaMonster.java b/Mage.Sets/src/mage/sets/seventhedition/SeaMonster.java new file mode 100644 index 0000000000..3f7ddf33ca --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/SeaMonster.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.seventhedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class SeaMonster extends mage.sets.tempest.SeaMonster { + + public SeaMonster(UUID ownerId) { + super(ownerId); + this.cardNumber = 97; + this.expansionSetCode = "7ED"; + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java b/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java new file mode 100644 index 0000000000..dd3a2537cc --- /dev/null +++ b/Mage.Sets/src/mage/sets/seventhedition/StealArtifact.java @@ -0,0 +1,75 @@ +/* + * 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.seventhedition; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continious.ControlEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.target.TargetPermanent; +import mage.target.common.TargetArtifactPermanent; + +/** + * + * @author Plopman + */ +public class StealArtifact extends CardImpl<StealArtifact> { + + public StealArtifact(UUID ownerId) { + super(ownerId, 99, "Steal Artifact", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{U}"); + this.expansionSetCode = "7ED"; + this.subtype.add("Aura"); + + this.color.setBlue(true); + + // Enchant artifact + TargetPermanent auraTarget = new TargetArtifactPermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + // You control enchanted artifact. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); + } + + public StealArtifact(final StealArtifact card) { + super(card); + } + + @Override + public StealArtifact copy() { + return new StealArtifact(this); + } +} diff --git a/Mage.Sets/src/mage/sets/sixthedition/HealingSalve.java b/Mage.Sets/src/mage/sets/sixthedition/HealingSalve.java new file mode 100644 index 0000000000..cba3104cf8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/sixthedition/HealingSalve.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.sixthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 22; + this.expansionSetCode = "6ED"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/sixthedition/SeaMonster.java b/Mage.Sets/src/mage/sets/sixthedition/SeaMonster.java new file mode 100644 index 0000000000..70c668ac2c --- /dev/null +++ b/Mage.Sets/src/mage/sets/sixthedition/SeaMonster.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.sixthedition; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class SeaMonster extends mage.sets.tempest.SeaMonster { + + public SeaMonster(UUID ownerId) { + super(ownerId); + this.cardNumber = 96; + this.expansionSetCode = "6ED"; + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/stronghold/Evacuation.java b/Mage.Sets/src/mage/sets/stronghold/Evacuation.java new file mode 100644 index 0000000000..a33d7a2584 --- /dev/null +++ b/Mage.Sets/src/mage/sets/stronghold/Evacuation.java @@ -0,0 +1,94 @@ +/* + * 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.stronghold; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author Plopman + */ +public class Evacuation extends CardImpl<Evacuation> { + + public Evacuation(UUID ownerId) { + super(ownerId, 30, "Evacuation", Rarity.RARE, new CardType[]{CardType.INSTANT}, "{3}{U}{U}"); + this.expansionSetCode = "STH"; + + this.color.setBlue(true); + + // Return all creatures to their owners' hands. + this.getSpellAbility().addEffect(new EvacuationEffect()); + } + + public Evacuation(final Evacuation card) { + super(card); + } + + @Override + public Evacuation copy() { + return new Evacuation(this); + } +} + + +class EvacuationEffect extends OneShotEffect<EvacuationEffect> { + + + + public EvacuationEffect() { + super(Constants.Outcome.ReturnToHand); + staticText = "Return all creatures to their owners' hands"; + } + + public EvacuationEffect(final EvacuationEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (Permanent creature : game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), game)) { + creature.moveToZone(Constants.Zone.HAND, source.getSourceId(), game, true); + } + return true; + } + + @Override + public EvacuationEffect copy() { + return new EvacuationEffect(this); + } +} + diff --git a/Mage.Sets/src/mage/sets/stronghold/IntruderAlarm.java b/Mage.Sets/src/mage/sets/stronghold/IntruderAlarm.java new file mode 100644 index 0000000000..08fc0331e4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/stronghold/IntruderAlarm.java @@ -0,0 +1,191 @@ +/* + * 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.stronghold; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Outcome; +import mage.Constants.PhaseStep; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.ZoneChangeTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author Plopman + */ +public class IntruderAlarm extends CardImpl<IntruderAlarm> { + + public IntruderAlarm(UUID ownerId) { + super(ownerId, 34, "Intruder Alarm", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); + this.expansionSetCode = "STH"; + + this.color.setBlue(true); + + // Creatures don't untap during their controllers' untap steps. + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new IntruderAlarmEffect())); + // Whenever a creature enters the battlefield, untap all creatures. + this.addAbility(new IntruderAlarmTriggeredAbility(new UntapAllCreatureEffect())); + } + + public IntruderAlarm(final IntruderAlarm card) { + super(card); + } + + @Override + public IntruderAlarm copy() { + return new IntruderAlarm(this); + } +} + + +class IntruderAlarmEffect extends ReplacementEffectImpl<IntruderAlarmEffect> { + + + public IntruderAlarmEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment); + } + + public IntruderAlarmEffect(final IntruderAlarmEffect effect) { + super(effect); + } + + @Override + public IntruderAlarmEffect copy() { + return new IntruderAlarmEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + used = false; + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + Permanent creature = game.getPermanent(event.getTargetId()); + if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getType() == EventType.UNTAP + && creature != null && creature.getCardType().contains(CardType.CREATURE) && creature.getControllerId() == event.getPlayerId()) { + return true; + } + return false; + } + + @Override + public String getText(Mode mode) { + return "Creatures don't untap during their controllers' untap steps"; + } + + + +} + +class IntruderAlarmTriggeredAbility extends ZoneChangeTriggeredAbility<IntruderAlarmTriggeredAbility> { + + public IntruderAlarmTriggeredAbility(Effect effect) { + super(Constants.Zone.BATTLEFIELD, effect, "Whenever a creature enters the battlefield, ", false); + } + + + + public IntruderAlarmTriggeredAbility(IntruderAlarmTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE && !event.getTargetId().equals(this.getSourceId())) { + ZoneChangeEvent zEvent = (ZoneChangeEvent) event; + if (zEvent.getToZone() == Constants.Zone.BATTLEFIELD) { + Permanent permanent = game.getPermanent(event.getTargetId()); + if (permanent != null && permanent.getCardType().contains(Constants.CardType.CREATURE)) { + return true; + } + } + } + return false; + } + + @Override + public IntruderAlarmTriggeredAbility copy() { + return new IntruderAlarmTriggeredAbility(this); + } + +} + +class UntapAllCreatureEffect extends OneShotEffect<UntapAllCreatureEffect> { + + + public UntapAllCreatureEffect() { + super(Outcome.Untap); + staticText = "untap all creatures"; + } + + public UntapAllCreatureEffect(final UntapAllCreatureEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + for (Permanent land: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), game)) { + land.untap(game); + } + return true; + } + return false; + } + + @Override + public UntapAllCreatureEffect copy() { + return new UntapAllCreatureEffect(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tempest/SeaMonster.java b/Mage.Sets/src/mage/sets/tempest/SeaMonster.java new file mode 100644 index 0000000000..bfab7bd166 --- /dev/null +++ b/Mage.Sets/src/mage/sets/tempest/SeaMonster.java @@ -0,0 +1,113 @@ +/* + * 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.tempest; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author Plopman + */ +public class SeaMonster extends CardImpl<SeaMonster> { + + public SeaMonster(UUID ownerId) { + super(ownerId, 85, "Sea Monster", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); + this.expansionSetCode = "TMP"; + this.subtype.add("Serpent"); + + this.color.setBlue(true); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Sea Monster can't attack unless defending player controls an Island. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SeaMonsterEffect())); + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} + +class SeaMonsterEffect extends ReplacementEffectImpl<SeaMonsterEffect> { + + public SeaMonsterEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "{this} can't attack unless defending player controls an Island"; + } + + public SeaMonsterEffect(final SeaMonsterEffect effect) { + super(effect); + } + + @Override + public SeaMonsterEffect copy() { + return new SeaMonsterEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType() == GameEvent.EventType.DECLARE_ATTACKER && source.getSourceId().equals(event.getSourceId())) { + FilterPermanent filter = new FilterPermanent(); + filter.add(new SubtypePredicate("Island")); + + if (game.getBattlefield().countAll(filter, event.getTargetId(), game) == 0) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tenth/Evacuation.java b/Mage.Sets/src/mage/sets/tenth/Evacuation.java new file mode 100644 index 0000000000..fd88a07d53 --- /dev/null +++ b/Mage.Sets/src/mage/sets/tenth/Evacuation.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.tenth; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class Evacuation extends mage.sets.stronghold.Evacuation { + + public Evacuation(UUID ownerId) { + super(ownerId); + this.cardNumber = 83; + this.expansionSetCode = "10E"; + } + + public Evacuation(final Evacuation card) { + super(card); + } + + @Override + public Evacuation copy() { + return new Evacuation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/tenth/SeaMonster.java b/Mage.Sets/src/mage/sets/tenth/SeaMonster.java new file mode 100644 index 0000000000..d1bf978b60 --- /dev/null +++ b/Mage.Sets/src/mage/sets/tenth/SeaMonster.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.tenth; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class SeaMonster extends mage.sets.tempest.SeaMonster { + + public SeaMonster(UUID ownerId) { + super(ownerId); + this.cardNumber = 106; + this.expansionSetCode = "10E"; + } + + public SeaMonster(final SeaMonster card) { + super(card); + } + + @Override + public SeaMonster copy() { + return new SeaMonster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/MasterHealer.java b/Mage.Sets/src/mage/sets/urzasdestiny/MasterHealer.java new file mode 100644 index 0000000000..c6c1b63636 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzasdestiny/MasterHealer.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.urzasdestiny; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class MasterHealer extends mage.sets.ninthedition.MasterHealer { + + public MasterHealer(UUID ownerId) { + super(ownerId); + this.cardNumber = 12; + this.expansionSetCode = "UDS"; + } + + public MasterHealer(final MasterHealer card) { + super(card); + } + + @Override + public MasterHealer copy() { + return new MasterHealer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzassaga/HealingSalve.java b/Mage.Sets/src/mage/sets/urzassaga/HealingSalve.java new file mode 100644 index 0000000000..d66c982103 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/HealingSalve.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.urzassaga; + +import java.util.UUID; + +/** + * + * @author Plopman + */ +public class HealingSalve extends mage.sets.seventhedition.HealingSalve { + + public HealingSalve(UUID ownerId) { + super(ownerId); + this.cardNumber = 16; + this.expansionSetCode = "USG"; + } + + public HealingSalve(final HealingSalve card) { + super(card); + } + + @Override + public HealingSalve copy() { + return new HealingSalve(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzassaga/Hibernation.java b/Mage.Sets/src/mage/sets/urzassaga/Hibernation.java new file mode 100644 index 0000000000..3285f5e36e --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/Hibernation.java @@ -0,0 +1,98 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author Plopman + */ +public class Hibernation extends CardImpl<Hibernation> { + + public Hibernation(UUID ownerId) { + super(ownerId, 79, "Hibernation", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{2}{U}"); + this.expansionSetCode = "USG"; + + this.color.setBlue(true); + + // Return all green permanents to their owners' hands. + this.getSpellAbility().addEffect(new HibernationEffect()); + } + + public Hibernation(final Hibernation card) { + super(card); + } + + @Override + public Hibernation copy() { + return new Hibernation(this); + } +} + + +class HibernationEffect extends OneShotEffect<HibernationEffect> { + + private static final FilterPermanent filter = new FilterPermanent("green permanents"); + static { + filter.add(new ColorPredicate(ObjectColor.GREEN)); + } + + public HibernationEffect() { + super(Constants.Outcome.ReturnToHand); + staticText = "Return all green permanents to their owners' hands"; + } + + public HibernationEffect(final HibernationEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filter, game)) { + permanent.moveToZone(Constants.Zone.HAND, source.getSourceId(), game, true); + } + return true; + } + + @Override + public HibernationEffect copy() { + return new HibernationEffect(this); + } +} \ No newline at end of file