From d353924fcd10d993bc8ba3af78743a07b3ab440f Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Thu, 8 Mar 2012 15:38:18 -0500 Subject: [PATCH] submissions from Melkhior --- Mage.Sets/src/mage/sets/EighthEdition.java | 25 ++++++ Mage.Sets/src/mage/sets/FifthEdition.java | 25 ++++++ Mage.Sets/src/mage/sets/NinthEdition.java | 25 ++++++ Mage.Sets/src/mage/sets/Onslaught.java | 25 ++++++ Mage.Sets/src/mage/sets/Sets.java | 4 + .../mage/sets/eighthedition/UrzasMine.java | 53 +++++++++++++ .../sets/eighthedition/UrzasPowerPlant.java | 53 +++++++++++++ .../mage/sets/eighthedition/UrzasTower.java | 53 +++++++++++++ .../src/mage/sets/fifthedition/UrzasMine.java | 59 ++++++++++++++ .../sets/fifthedition/UrzasPowerPlant.java | 59 ++++++++++++++ .../mage/sets/fifthedition/UrzasTower.java | 59 ++++++++++++++ .../sets/lorwyn/ImmaculateMagistrate.java | 9 ++- .../src/mage/sets/ninthedition/UrzasMine.java | 53 +++++++++++++ .../sets/ninthedition/UrzasPowerPlant.java | 53 +++++++++++++ .../mage/sets/ninthedition/UrzasTower.java | 53 +++++++++++++ .../src/mage/sets/onslaught/WirewoodElf.java | 60 ++++++++++++++ .../mage/sets/onslaught/WirewoodLodge.java | 78 +++++++++++++++++++ .../dynamicvalue/common/UrzaTerrainValue.java | 53 +++++++++++++ 18 files changed, 795 insertions(+), 4 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/EighthEdition.java create mode 100644 Mage.Sets/src/mage/sets/FifthEdition.java create mode 100644 Mage.Sets/src/mage/sets/NinthEdition.java create mode 100644 Mage.Sets/src/mage/sets/Onslaught.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/UrzasMine.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/UrzasPowerPlant.java create mode 100644 Mage.Sets/src/mage/sets/eighthedition/UrzasTower.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/UrzasMine.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/UrzasPowerPlant.java create mode 100644 Mage.Sets/src/mage/sets/fifthedition/UrzasTower.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/UrzasMine.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/UrzasPowerPlant.java create mode 100644 Mage.Sets/src/mage/sets/ninthedition/UrzasTower.java create mode 100644 Mage.Sets/src/mage/sets/onslaught/WirewoodElf.java create mode 100644 Mage.Sets/src/mage/sets/onslaught/WirewoodLodge.java create mode 100644 Mage/src/mage/abilities/dynamicvalue/common/UrzaTerrainValue.java diff --git a/Mage.Sets/src/mage/sets/EighthEdition.java b/Mage.Sets/src/mage/sets/EighthEdition.java new file mode 100644 index 00000000000..823fe5c99b4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/EighthEdition.java @@ -0,0 +1,25 @@ +package mage.sets; + +import java.util.GregorianCalendar; +import mage.Constants.SetType; +import mage.cards.ExpansionSet; + +public class EighthEdition extends ExpansionSet { + + private static final EighthEdition fINSTANCE = new EighthEdition(); + + public static EighthEdition getInstance() { + return fINSTANCE; + } + + private EighthEdition() { + super("Eighth Edition", "8ED", "", "mage.sets.eighthedition", new GregorianCalendar(2003, 7, 28).getTime(), SetType.CORE); + this.hasBoosters = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 10; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 0; + } + +} diff --git a/Mage.Sets/src/mage/sets/FifthEdition.java b/Mage.Sets/src/mage/sets/FifthEdition.java new file mode 100644 index 00000000000..79efc4982c8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/FifthEdition.java @@ -0,0 +1,25 @@ +package mage.sets; + +import java.util.GregorianCalendar; +import mage.Constants.SetType; +import mage.cards.ExpansionSet; + +public class FifthEdition extends ExpansionSet { + + private static final FifthEdition fINSTANCE = new FifthEdition(); + + public static FifthEdition getInstance() { + return fINSTANCE; + } + + private FifthEdition() { + super("Fifth Edition", "5ED", "", "mage.sets.fifthedition", new GregorianCalendar(1997, 3, 1).getTime(), SetType.CORE); + this.hasBoosters = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 10; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 0; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/NinthEdition.java b/Mage.Sets/src/mage/sets/NinthEdition.java new file mode 100644 index 00000000000..51b3ca2d2b9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/NinthEdition.java @@ -0,0 +1,25 @@ +package mage.sets; + +import java.util.GregorianCalendar; +import mage.Constants.SetType; +import mage.cards.ExpansionSet; + +public class NinthEdition extends ExpansionSet { + + private static final NinthEdition fINSTANCE = new NinthEdition(); + + public static NinthEdition getInstance() { + return fINSTANCE; + } + + private NinthEdition() { + super("Ninth Edition", "9ED", "", "mage.sets.ninthedition", new GregorianCalendar(2005, 7, 29).getTime(), SetType.CORE); + this.hasBoosters = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 10; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 0; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/Onslaught.java b/Mage.Sets/src/mage/sets/Onslaught.java new file mode 100644 index 00000000000..6426a65eaa8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/Onslaught.java @@ -0,0 +1,25 @@ +package mage.sets; + +import mage.Constants; +import mage.cards.ExpansionSet; + +import java.util.GregorianCalendar; + +public class Onslaught extends ExpansionSet { + private static final Onslaught fINSTANCE = new Onslaught(); + + public static Onslaught getInstance() { + return fINSTANCE; + } + + private Onslaught() { + super("Onslaught", "ONS", "", "mage.sets.onslaught", new GregorianCalendar(2002, 10, 7).getTime(), Constants.SetType.EXPANSION); + this.blockName = "Onslaught"; + this.hasBoosters = true; + this.numBoosterLands = 1; + this.numBoosterCommon = 10; + this.numBoosterUncommon = 3; + this.numBoosterRare = 1; + this.ratioBoosterMythic = 0; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/Sets.java b/Mage.Sets/src/mage/sets/Sets.java index 89a559cee61..b2f378da716 100644 --- a/Mage.Sets/src/mage/sets/Sets.java +++ b/Mage.Sets/src/mage/sets/Sets.java @@ -78,9 +78,11 @@ public class Sets extends HashMap { this.addSet(DarkAscension.getInstance()); this.addSet(Darksteel.getInstance()); this.addSet(Dissension.getInstance()); + this.addSet(EighthEdition.getInstance()); this.addSet(ElspethvsTezzeret.getInstance()); this.addSet(Eventide.getInstance()); this.addSet(FifthDawn.getInstance()); + this.addSet(FifthEdition.getInstance()); this.addSet(FutureSight.getInstance()); this.addSet(Guildpact.getInstance()); this.addSet(Guru.getInstance()); @@ -95,6 +97,8 @@ public class Sets extends HashMap { this.addSet(MirrodinBesieged.getInstance()); this.addSet(Morningtide.getInstance()); this.addSet(NewPhyrexia.getInstance()); + this.addSet(NinthEdition.getInstance()); + this.addSet(Onslaught.getInstance()); this.addSet(PlanarChaos.getInstance()); this.addSet(Planechase.getInstance()); this.addSet(Planeshift.getInstance()); diff --git a/Mage.Sets/src/mage/sets/eighthedition/UrzasMine.java b/Mage.Sets/src/mage/sets/eighthedition/UrzasMine.java new file mode 100644 index 00000000000..25508b89e22 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/UrzasMine.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasMine extends mage.sets.fifthedition.UrzasMine { + + public UrzasMine(UUID ownerId) { + super(ownerId); + this.cardNumber = 328; + this.expansionSetCode = "8ED"; + } + + public UrzasMine(final UrzasMine card) { + super(card); + } + + @Override + public UrzasMine copy() { + return new UrzasMine(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/eighthedition/UrzasPowerPlant.java b/Mage.Sets/src/mage/sets/eighthedition/UrzasPowerPlant.java new file mode 100644 index 00000000000..675dbdaa121 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/UrzasPowerPlant.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasPowerPlant extends mage.sets.fifthedition.UrzasPowerPlant { + + public UrzasPowerPlant(UUID ownerId) { + super(ownerId); + this.cardNumber = 329; + this.expansionSetCode = "8ED"; + } + + public UrzasPowerPlant(final UrzasPowerPlant card) { + super(card); + } + + @Override + public UrzasPowerPlant copy() { + return new UrzasPowerPlant(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/eighthedition/UrzasTower.java b/Mage.Sets/src/mage/sets/eighthedition/UrzasTower.java new file mode 100644 index 00000000000..736909eb52f --- /dev/null +++ b/Mage.Sets/src/mage/sets/eighthedition/UrzasTower.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasTower extends mage.sets.fifthedition.UrzasTower { + + public UrzasTower(UUID ownerId) { + super(ownerId); + this.cardNumber = 330; + this.expansionSetCode = "8ED"; + } + + public UrzasTower(final UrzasTower card) { + super(card); + } + + @Override + public UrzasTower copy() { + return new UrzasTower(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/fifthedition/UrzasMine.java b/Mage.Sets/src/mage/sets/fifthedition/UrzasMine.java new file mode 100644 index 00000000000..f9c1879994d --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/UrzasMine.java @@ -0,0 +1,59 @@ +/* + * 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 mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.UrzaTerrainValue; +import mage.abilities.mana.DynamicManaAbility; +import mage.cards.CardImpl; + +/** + * + * @author Melkhior + */ +public class UrzasMine extends CardImpl { + public UrzasMine(UUID ownerId) { + super(ownerId, 447, "Urza's Mine", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "5ED"; + Ability urzaManaAbility = new DynamicManaAbility(Mana.ColorlessMana, new UrzaTerrainValue(2)); + this.addAbility(urzaManaAbility); + } + + public UrzasMine(final UrzasMine card) { + super(card); + } + + @Override + public UrzasMine copy() { + return new UrzasMine(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/fifthedition/UrzasPowerPlant.java b/Mage.Sets/src/mage/sets/fifthedition/UrzasPowerPlant.java new file mode 100644 index 00000000000..55acb2b5fb5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/UrzasPowerPlant.java @@ -0,0 +1,59 @@ +/* + * 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 mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.UrzaTerrainValue; +import mage.abilities.mana.DynamicManaAbility; +import mage.cards.CardImpl; + +/** + * + * @author Melkhior + */ +public class UrzasPowerPlant extends CardImpl { + public UrzasPowerPlant(UUID ownerId) { + super(ownerId, 448, "Urza's Power Plant", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "5ED"; + Ability urzaManaAbility = new DynamicManaAbility(Mana.ColorlessMana, new UrzaTerrainValue(2)); + this.addAbility(urzaManaAbility); + } + + public UrzasPowerPlant(final UrzasPowerPlant card) { + super(card); + } + + @Override + public UrzasPowerPlant copy() { + return new UrzasPowerPlant(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/fifthedition/UrzasTower.java b/Mage.Sets/src/mage/sets/fifthedition/UrzasTower.java new file mode 100644 index 00000000000..e123fe093f8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/UrzasTower.java @@ -0,0 +1,59 @@ +/* + * 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 mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.UrzaTerrainValue; +import mage.abilities.mana.DynamicManaAbility; +import mage.cards.CardImpl; + +/** + * + * @author Melkhior + */ +public class UrzasTower extends CardImpl { + public UrzasTower(UUID ownerId) { + super(ownerId, 449, "Urza's Tower", Rarity.COMMON, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "5ED"; + Ability urzaManaAbility = new DynamicManaAbility(Mana.ColorlessMana, new UrzaTerrainValue(3)); + this.addAbility(urzaManaAbility); + } + + public UrzasTower(final UrzasTower card) { + super(card); + } + + @Override + public UrzasTower copy() { + return new UrzasTower(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/lorwyn/ImmaculateMagistrate.java b/Mage.Sets/src/mage/sets/lorwyn/ImmaculateMagistrate.java index 501b464283d..f711a5ce8f9 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/ImmaculateMagistrate.java +++ b/Mage.Sets/src/mage/sets/lorwyn/ImmaculateMagistrate.java @@ -38,12 +38,12 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.counters.CounterType; -import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; +import mage.filter.common.FilterControlledPermanent; /** * @@ -80,7 +80,10 @@ public class ImmaculateMagistrate extends CardImpl { } class ImmaculateMagistrateEffect extends OneShotEffect { - + static final FilterControlledPermanent filter = new FilterControlledPermanent("Elf"); + static { + filter.getSubtype().add("Elf"); + } public ImmaculateMagistrateEffect() { super(Outcome.BoostCreature); this.staticText = "Put a +1/+1 counter on target creature for each Elf you control"; @@ -99,8 +102,6 @@ class ImmaculateMagistrateEffect extends OneShotEffect 0) { permanent.addCounters(CounterType.P1P1.createInstance(count), game); diff --git a/Mage.Sets/src/mage/sets/ninthedition/UrzasMine.java b/Mage.Sets/src/mage/sets/ninthedition/UrzasMine.java new file mode 100644 index 00000000000..f90a918a809 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/UrzasMine.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasMine extends mage.sets.fifthedition.UrzasMine { + + public UrzasMine(UUID ownerId) { + super(ownerId); + this.cardNumber = 327; + this.expansionSetCode = "9ED"; + } + + public UrzasMine(final UrzasMine card) { + super(card); + } + + @Override + public UrzasMine copy() { + return new UrzasMine(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/ninthedition/UrzasPowerPlant.java b/Mage.Sets/src/mage/sets/ninthedition/UrzasPowerPlant.java new file mode 100644 index 00000000000..468ff87bc75 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/UrzasPowerPlant.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasPowerPlant extends mage.sets.fifthedition.UrzasPowerPlant { + + public UrzasPowerPlant(UUID ownerId) { + super(ownerId); + this.cardNumber = 328; + this.expansionSetCode = "9ED"; + } + + public UrzasPowerPlant(final UrzasPowerPlant card) { + super(card); + } + + @Override + public UrzasPowerPlant copy() { + return new UrzasPowerPlant(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/ninthedition/UrzasTower.java b/Mage.Sets/src/mage/sets/ninthedition/UrzasTower.java new file mode 100644 index 00000000000..c0a15cea732 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ninthedition/UrzasTower.java @@ -0,0 +1,53 @@ +/* + * 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 Melkhior + */ +public class UrzasTower extends mage.sets.fifthedition.UrzasTower { + + public UrzasTower(UUID ownerId) { + super(ownerId); + this.cardNumber = 329; + this.expansionSetCode = "9ED"; + } + + public UrzasTower(final UrzasTower card) { + super(card); + } + + @Override + public UrzasTower copy() { + return new UrzasTower(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/onslaught/WirewoodElf.java b/Mage.Sets/src/mage/sets/onslaught/WirewoodElf.java new file mode 100644 index 00000000000..5819f517466 --- /dev/null +++ b/Mage.Sets/src/mage/sets/onslaught/WirewoodElf.java @@ -0,0 +1,60 @@ +/* + * 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.onslaught; + +import java.util.UUID; +import mage.Constants; +import mage.MageInt; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; + +/** + * + * @author Melkhior + */ +public class WirewoodElf extends CardImpl { + public WirewoodElf(UUID ownerId) { + super(ownerId, 301, "Wirewood Elf", Constants.Rarity.COMMON, new Constants.CardType[]{Constants.CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "ONS"; + this.subtype.add("Elf"); + this.subtype.add("Druid"); + this.color.setGreen(true); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + this.addAbility(new GreenManaAbility()); + } + + public WirewoodElf(final WirewoodElf card) { + super(card); + } + + @Override + public WirewoodElf copy() { + return new WirewoodElf(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/onslaught/WirewoodLodge.java b/Mage.Sets/src/mage/sets/onslaught/WirewoodLodge.java new file mode 100644 index 00000000000..db48cd2d6fe --- /dev/null +++ b/Mage.Sets/src/mage/sets/onslaught/WirewoodLodge.java @@ -0,0 +1,78 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.onslaught; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Costs; +import mage.abilities.costs.CostsImpl; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Melkhior + */ +public class WirewoodLodge extends CardImpl { + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("Elf"); + static { + filter.getSubtype().add("Elf"); + } + + public WirewoodLodge(UUID ownerId) { + super(ownerId, 329, "Wirewood Lodge", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "ONS"; + Ability greenManaAbility = new GreenManaAbility(); + this.addAbility(greenManaAbility); + Costs costs = new CostsImpl(); + costs.add(new TapSourceCost()); + costs.add(new ManaCostsImpl("{G}")); + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new UntapTargetEffect(), costs); + TargetCreaturePermanent target = new TargetCreaturePermanent(filter); + ability.addTarget(target); + this.addAbility(ability); + } + + public WirewoodLodge(final WirewoodLodge card) { + super(card); + } + + @Override + public WirewoodLodge copy() { + return new WirewoodLodge(this); + } +} \ No newline at end of file diff --git a/Mage/src/mage/abilities/dynamicvalue/common/UrzaTerrainValue.java b/Mage/src/mage/abilities/dynamicvalue/common/UrzaTerrainValue.java new file mode 100644 index 00000000000..c3ac993773b --- /dev/null +++ b/Mage/src/mage/abilities/dynamicvalue/common/UrzaTerrainValue.java @@ -0,0 +1,53 @@ +package mage.abilities.dynamicvalue.common; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.filter.common.FilterControlledPermanent; +import mage.game.Game; + +public class UrzaTerrainValue implements DynamicValue { + private final int v; + + public UrzaTerrainValue(int val) { + v = val; + } + + @Override + public int calculate(Game game, Ability sourceAbility) { + FilterControlledPermanent pp = new FilterControlledPermanent("Urza's Power Plant"); + pp.getName().add("Urza's Power Plant"); + PermanentsOnBattlefieldCount ppP = new PermanentsOnBattlefieldCount(pp); + if (ppP.calculate(game, sourceAbility) < 1) + return 1; + + FilterControlledPermanent to = new FilterControlledPermanent("Urza's Tower"); + to.getName().add("Urza's Tower"); + PermanentsOnBattlefieldCount toP = new PermanentsOnBattlefieldCount(to); + if (toP.calculate(game, sourceAbility) < 1) + return 1; + + FilterControlledPermanent mi = new FilterControlledPermanent("Urza's Mine"); + mi.getName().add("Urza's Mine"); + PermanentsOnBattlefieldCount miP = new PermanentsOnBattlefieldCount(mi); + if (miP.calculate(game, sourceAbility) < 1) + return 1; + + return v; + } + + @Override + public DynamicValue clone() { + return new UrzaTerrainValue(v); + } + + @Override + public String toString() { + return "1 or " + v; + } + + @Override + public String getMessage() { + return ""; + } +}