diff --git a/Mage.Client/plugins/images/ISD/Abbey Griffin.full.jpg b/Mage.Client/plugins/images/ISD/Abbey Griffin.full.jpg new file mode 100644 index 00000000000..28d78cd2ac9 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Abbey Griffin.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Angel of Flight Alabaster.full.jpg b/Mage.Client/plugins/images/ISD/Angel of Flight Alabaster.full.jpg new file mode 100644 index 00000000000..9815cd2cd06 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Angel of Flight Alabaster.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Clifftop Retreat.full.jpg b/Mage.Client/plugins/images/ISD/Clifftop Retreat.full.jpg new file mode 100644 index 00000000000..912ec643564 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Clifftop Retreat.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Hinterland Harbor.full.jpg b/Mage.Client/plugins/images/ISD/Hinterland Harbor.full.jpg new file mode 100644 index 00000000000..9e19c95ddb1 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Hinterland Harbor.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Invisible Stalker.full.jpg b/Mage.Client/plugins/images/ISD/Invisible Stalker.full.jpg new file mode 100644 index 00000000000..a7ef2371477 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Invisible Stalker.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Isolated Chapel.full.jpg b/Mage.Client/plugins/images/ISD/Isolated Chapel.full.jpg new file mode 100644 index 00000000000..e11f74dffa1 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Isolated Chapel.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Reaper from the Abyss.full.jpg b/Mage.Client/plugins/images/ISD/Reaper from the Abyss.full.jpg new file mode 100644 index 00000000000..01f1a4f4cb8 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Reaper from the Abyss.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Sulfur Falls.full.jpg b/Mage.Client/plugins/images/ISD/Sulfur Falls.full.jpg new file mode 100644 index 00000000000..fabc740c9b6 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Sulfur Falls.full.jpg differ diff --git a/Mage.Client/plugins/images/ISD/Woodland Cemetery.full.jpg b/Mage.Client/plugins/images/ISD/Woodland Cemetery.full.jpg new file mode 100644 index 00000000000..7839e8409f3 Binary files /dev/null and b/Mage.Client/plugins/images/ISD/Woodland Cemetery.full.jpg differ diff --git a/Mage.Sets/src/mage/sets/innistrad/ClifftopRetreat.java b/Mage.Sets/src/mage/sets/innistrad/ClifftopRetreat.java new file mode 100644 index 00000000000..34120b43b26 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/ClifftopRetreat.java @@ -0,0 +1,80 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.sets.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.UnlessCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.common.FilterLandPermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class ClifftopRetreat extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.getSubtype().add("Mountain"); + filter.getSubtype().add("Plains"); + filter.setScopeSubtype(ComparisonScope.Any); + filter.setMessage("Mountain or a Plains"); + } + + public ClifftopRetreat(UUID ownerId) { + super(ownerId, 238, "Clifftop Retreat", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "ISD"; + + Condition controls = new UnlessCondition(new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0)); + String abilityText = "tap it unless you control a " + filter.getMessage(); + this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); + this.addAbility(new RedManaAbility()); + this.addAbility(new WhiteManaAbility()); + } + + public ClifftopRetreat(final ClifftopRetreat card) { + super(card); + } + + @Override + public ClifftopRetreat copy() { + return new ClifftopRetreat(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/HinterlandHarbor.java b/Mage.Sets/src/mage/sets/innistrad/HinterlandHarbor.java new file mode 100644 index 00000000000..8f63b9e861d --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/HinterlandHarbor.java @@ -0,0 +1,80 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.sets.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.UnlessCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.common.FilterLandPermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class HinterlandHarbor extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.getSubtype().add("Forest"); + filter.getSubtype().add("Island"); + filter.setScopeSubtype(ComparisonScope.Any); + filter.setMessage("Forest or an Island"); + } + + public HinterlandHarbor(UUID ownerId) { + super(ownerId, 241, "Hinterland Harbor", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "ISD"; + + Condition controls = new UnlessCondition(new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0)); + String abilityText = "tap it unless you control a " + filter.getMessage(); + this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); + this.addAbility(new GreenManaAbility()); + this.addAbility(new BlueManaAbility()); + } + + public HinterlandHarbor(final HinterlandHarbor card) { + super(card); + } + + @Override + public HinterlandHarbor copy() { + return new HinterlandHarbor(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/IsolatedChapel.java b/Mage.Sets/src/mage/sets/innistrad/IsolatedChapel.java new file mode 100644 index 00000000000..828e726d8b0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/IsolatedChapel.java @@ -0,0 +1,82 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.sets.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.UnlessCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.common.FilterLandPermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class IsolatedChapel extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.getSubtype().add("Plains"); + filter.getSubtype().add("Swamp"); + filter.setScopeSubtype(ComparisonScope.Any); + filter.setMessage("Plains or a Swamp"); + } + + public IsolatedChapel(UUID ownerId) { + super(ownerId, 242, "Isolated Chapel", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "ISD"; + + Condition controls = new UnlessCondition(new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0)); + String abilityText = "tap it unless you control a " + filter.getMessage(); + this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); + this.addAbility(new WhiteManaAbility()); + this.addAbility(new BlackManaAbility()); + } + + public IsolatedChapel(final IsolatedChapel card) { + super(card); + } + + @Override + public IsolatedChapel copy() { + return new IsolatedChapel(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/SulfurFalls.java b/Mage.Sets/src/mage/sets/innistrad/SulfurFalls.java new file mode 100644 index 00000000000..4e4bd9017f2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/SulfurFalls.java @@ -0,0 +1,80 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.sets.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.UnlessCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.common.FilterLandPermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class SulfurFalls extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.getSubtype().add("Island"); + filter.getSubtype().add("Mountain"); + filter.setScopeSubtype(ComparisonScope.Any); + filter.setMessage("Island or a Mountain"); + } + + public SulfurFalls(UUID ownerId) { + super(ownerId, 248, "Sulfur Falls", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "ISD"; + + Condition controls = new UnlessCondition(new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0)); + String abilityText = "tap it unless you control a " + filter.getMessage(); + this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); + this.addAbility(new BlueManaAbility()); + this.addAbility(new RedManaAbility()); + } + + public SulfurFalls(final SulfurFalls card) { + super(card); + } + + @Override + public SulfurFalls copy() { + return new SulfurFalls(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/WoodlandCemetery.java b/Mage.Sets/src/mage/sets/innistrad/WoodlandCemetery.java new file mode 100644 index 00000000000..08989c7b66b --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/WoodlandCemetery.java @@ -0,0 +1,80 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.sets.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.ControlsPermanentCondition; +import mage.abilities.condition.common.UnlessCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.TapSourceEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.common.FilterLandPermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class WoodlandCemetery extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.getSubtype().add("Forest"); + filter.getSubtype().add("Swamp"); + filter.setScopeSubtype(ComparisonScope.Any); + filter.setMessage("Swamp or a Forest"); + } + + public WoodlandCemetery(UUID ownerId) { + super(ownerId, 249, "Woodland Cemetery", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "ISD"; + + Condition controls = new UnlessCondition(new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 0)); + String abilityText = "tap it unless you control a " + filter.getMessage(); + this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); + this.addAbility(new BlackManaAbility()); + this.addAbility(new GreenManaAbility()); + } + + public WoodlandCemetery(final WoodlandCemetery card) { + super(card); + } + + @Override + public WoodlandCemetery copy() { + return new WoodlandCemetery(this); + } +}