diff --git a/.gitignore b/.gitignore index 9a28f9ab18a..42b5e18e02e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,133 +1,134 @@ -syntax: glob - -# Mage.Client -Mage.Client/*.dck -Mage.Client/db -Mage.Client/gamelogs -Mage.Client/mageclient.log -Mage.Client/plugins/images -Mage.Client/plugins/plugin.data -Mage.Client/target -Mage.Common/target -/db -/gamelogs -/mageclient.log - -# Mage.Plugins -Mage.Plugins/Mage.Card.Plugin/target -Mage.Plugins/Mage.Counter.Plugin/target -Mage.Plugins/Mage.Theme.Plugin/target -Mage.Plugins/Mage.Rating.Plugin/target - -# Mage.Server -Mage.Server/config/init.txt -Mage.Server/saved -Mage.Server/target -Mage.Server/db -Mage.Server/cache -Mage.Server/mageserver.log -Mage.Server/magediag.log -Mage.Server/extensions -/saved -/db -/cache -/mageserver.log -/magediag.log -/extensions - -Mage.Server.Console/target/ -Mage.Server.Console/mageadmin.log -Mage.Server.Plugins/Mage.Deck.Constructed/target -Mage.Server.Plugins/Mage.Deck.Limited/target -Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target -Mage.Server.Plugins/Mage.Game.CommanderDuel/target -Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/target/ -Mage.Server.Plugins/Mage.Game.FreeForAll/target -Mage.Server.Plugins/Mage.Game.MomirDuel/target -Mage.Server.Plugins/Mage.Game.TinyLeadersDuel/target -Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/target -Mage.Server.Plugins/Mage.Player.AI.DraftBot/target -Mage.Server.Plugins/Mage.Player.AI.MA/target -Mage.Server.Plugins/Mage.Player.AI/target -Mage.Server.Plugins/Mage.Player.AIMCTS/target -Mage.Server.Plugins/Mage.Player.AIMinimax/target -Mage.Server.Plugins/Mage.Player.Human/target -Mage.Server.Plugins/Mage.Tournament.BoosterDraft/target -Mage.Server.Plugins/Mage.Tournament.Constructed/target -Mage.Server.Plugins/Mage.Tournament.Sealed/target - -# Mage.Sets -Mage.Sets/target - -# Mage.Stats -Mage.Stats/server.log -Mage.Stats/mageserver.log -Mage.Stats/magediag.log - -# Mage.Tests -Mage.Tests/target -Mage.Tests/cache -Mage.Tests/db -Mage.Tests/Mage.log -Mage.Tests/watchdog.log - -# Mage -Mage/target - -# Mage.Updater -Mage.Updater/target -mage.updater.client/target - -# Mage.Verify -Mage.Verify/target -Mage.Verify/AllCards.json.zip -Mage.Verify/AllSets.json.zip - -releases -Utils/author.txt -.DS_Store -.metadata -.project -.settings -.idea -syntax: regexp -\.class -\.jar -\.iml -\.ipr -\.iws -\.log -nbactions.xml -nbactions-*.xml -nb-configuration.xml -glob:Mage.Client/cheat.dck -glob:Mage.Client/test.dck -mage-bundle.zip -mage-stats-ws.war - -Mage.Server.Plugins/Mage.Draft.8PlayerBooster/target -\.orig\..*$ -\.orig$ -\.chg\..*$ -\.rej$ -\.conflict\~$ -/Mage.Server.Plugins/Mage.Player.AIMCTS/target/ - -*.classpath -*.iml -hs_err*.log -/submitted - -/Mage.Server/config/ai.please.cast.this.txt -/Mage.Stats/target/ -/Utils/*_unimplemented.txt -*.netbeans_automatic_build -*.txt -Mage.Client/serverlist.txt -/bin/ -/out/ -/target/ - -client_secrets.json - -dependency-reduced-pom.xml +syntax: glob + +# Mage.Client +Mage.Client/*.dck +Mage.Client/db +Mage.Client/gamelogs +Mage.Client/mageclient.log +Mage.Client/plugins/images +Mage.Client/plugins/plugin.data +Mage.Client/target +Mage.Common/target +/db +/gamelogs +/mageclient.log + +# Mage.Plugins +Mage.Plugins/Mage.Card.Plugin/target +Mage.Plugins/Mage.Counter.Plugin/target +Mage.Plugins/Mage.Theme.Plugin/target +Mage.Plugins/Mage.Rating.Plugin/target + +# Mage.Server +Mage.Server/config/init.txt +Mage.Server/saved +Mage.Server/target +Mage.Server/db +Mage.Server/cache +Mage.Server/mageserver.log +Mage.Server/magediag.log +Mage.Server/extensions +/saved +/db +/cache +/mageserver.log +/magediag.log +/extensions + +Mage.Server.Console/target/ +Mage.Server.Console/mageadmin.log +Mage.Server.Plugins/Mage.Deck.Constructed/target +Mage.Server.Plugins/Mage.Deck.Limited/target +Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target +Mage.Server.Plugins/Mage.Game.CommanderDuel/target +Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/target/ +Mage.Server.Plugins/Mage.Game.FreeForAll/target +Mage.Server.Plugins/Mage.Game.MomirDuel/target +Mage.Server.Plugins/Mage.Game.TinyLeadersDuel/target +Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/target +Mage.Server.Plugins/Mage.Player.AI.DraftBot/target +Mage.Server.Plugins/Mage.Player.AI.MA/target +Mage.Server.Plugins/Mage.Player.AI/target +Mage.Server.Plugins/Mage.Player.AIMCTS/target +Mage.Server.Plugins/Mage.Player.AIMinimax/target +Mage.Server.Plugins/Mage.Player.Human/target +Mage.Server.Plugins/Mage.Tournament.BoosterDraft/target +Mage.Server.Plugins/Mage.Tournament.Constructed/target +Mage.Server.Plugins/Mage.Tournament.Sealed/target + +# Mage.Sets +Mage.Sets/target + +# Mage.Stats +Mage.Stats/server.log +Mage.Stats/mageserver.log +Mage.Stats/magediag.log + +# Mage.Tests +Mage.Tests/target +Mage.Tests/cache +Mage.Tests/db +Mage.Tests/Mage.log +Mage.Tests/watchdog.log + +# Mage +Mage/target + +# Mage.Updater +Mage.Updater/target +mage.updater.client/target + +# Mage.Verify +Mage.Verify/target +Mage.Verify/AllCards.json.zip +Mage.Verify/AllSets.json.zip + +releases +Utils/author.txt +.DS_Store +.metadata +.project +.settings +.idea +syntax: regexp +\.class +\.jar +\.iml +\.ipr +\.iws +\.log +nbactions.xml +nbactions-*.xml +nb-configuration.xml +glob:Mage.Client/cheat.dck +glob:Mage.Client/test.dck +mage-bundle.zip +mage-stats-ws.war + +Mage.Server.Plugins/Mage.Draft.8PlayerBooster/target +\.orig\..*$ +\.orig$ +\.chg\..*$ +\.rej$ +\.conflict\~$ +/Mage.Server.Plugins/Mage.Player.AIMCTS/target/ + +*.classpath +*.iml +hs_err*.log +/submitted + +/Mage.Server/config/ai.please.cast.this.txt +/Mage.Stats/target/ +/Utils/*_unimplemented.txt +*.netbeans_automatic_build +*.txt +Mage.Client/serverlist.txt +/bin/ +/out/ +/target/ + +client_secrets.json + +dependency-reduced-pom.xml +/Mage.Server.Plugins/Mage.Game.PennyDreadfulCommanderFreeForAll/target/ \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/i/InfestedRoothold.java b/Mage.Sets/src/mage/cards/i/InfestedRoothold.java new file mode 100644 index 00000000000..44461f3d08c --- /dev/null +++ b/Mage.Sets/src/mage/cards/i/InfestedRoothold.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.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SpellCastOpponentTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.ProtectionAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterSpell; +import mage.filter.common.FilterArtifactCard; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.permanent.token.InsectToken; + +/** + * + * @author TheElk801 + */ +public class InfestedRoothold extends CardImpl { + + private final static FilterSpell filter = new FilterSpell("an artifact spell"); + + static { + filter.add(new CardTypePredicate(CardType.ARTIFACT)); + } + + public InfestedRoothold(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); + + this.subtype.add("Wall"); + this.power = new MageInt(0); + this.toughness = new MageInt(3); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // Protection from artifacts + this.addAbility(new ProtectionAbility(new FilterArtifactCard("artifacts"))); + + // Whenever an opponent casts an artifact spell, you may create a 1/1 green Insect creature token. + this.addAbility(new SpellCastOpponentTriggeredAbility(new CreateTokenEffect(new InsectToken()), filter, true)); + + } + + public InfestedRoothold(final InfestedRoothold card) { + super(card); + } + + @Override + public InfestedRoothold copy() { + return new InfestedRoothold(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Darksteel.java b/Mage.Sets/src/mage/sets/Darksteel.java index 69c5208b9b9..e8ed522ed21 100644 --- a/Mage.Sets/src/mage/sets/Darksteel.java +++ b/Mage.Sets/src/mage/sets/Darksteel.java @@ -85,6 +85,7 @@ public class Darksteel extends ExpansionSet { cards.add(new SetCardInfo("Heartseeker", 124, Rarity.RARE, mage.cards.h.Heartseeker.class)); cards.add(new SetCardInfo("Hoverguard Observer", 22, Rarity.UNCOMMON, mage.cards.h.HoverguardObserver.class)); cards.add(new SetCardInfo("Hunger of the Nim", 46, Rarity.COMMON, mage.cards.h.HungerOfTheNim.class)); + cards.add(new SetCardInfo("Infested Roothold", 76, Rarity.UNCOMMON, mage.cards.i.InfestedRoothold.class)); cards.add(new SetCardInfo("Inflame", 64, Rarity.COMMON, mage.cards.i.Inflame.class)); cards.add(new SetCardInfo("Juggernaut", 125, Rarity.UNCOMMON, mage.cards.j.Juggernaut.class)); cards.add(new SetCardInfo("Karstoderm", 77, Rarity.UNCOMMON, mage.cards.k.Karstoderm.class));