diff --git a/Mage.Sets/src/mage/sets/fifthedition/Disintegrate.java b/Mage.Sets/src/mage/sets/fifthedition/Disintegrate.java new file mode 100644 index 0000000000..90cd6a8ff6 --- /dev/null +++ b/Mage.Sets/src/mage/sets/fifthedition/Disintegrate.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 dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 219; + this.expansionSetCode = "5ED"; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/BlackVise.java b/Mage.Sets/src/mage/sets/fourthedition/BlackVise.java new file mode 100644 index 0000000000..36655e2cae --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/BlackVise.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 dustinconrad + */ +public class BlackVise extends mage.sets.limitedalpha.BlackVise { + + public BlackVise(UUID ownerId) { + super(ownerId); + this.cardNumber = 317; + this.expansionSetCode = "4ED"; + } + + public BlackVise(final BlackVise card) { + super(card); + } + + @Override + public BlackVise copy() { + return new BlackVise(this); + } +} diff --git a/Mage.Sets/src/mage/sets/fourthedition/Disintegrate.java b/Mage.Sets/src/mage/sets/fourthedition/Disintegrate.java new file mode 100644 index 0000000000..f08982742c --- /dev/null +++ b/Mage.Sets/src/mage/sets/fourthedition/Disintegrate.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 dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 203; + this.expansionSetCode = "4ED"; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/judgment/Browbeat.java b/Mage.Sets/src/mage/sets/judgment/Browbeat.java new file mode 100644 index 0000000000..a81a5370fc --- /dev/null +++ b/Mage.Sets/src/mage/sets/judgment/Browbeat.java @@ -0,0 +1,127 @@ +/* + * 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.judgment; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.costs.common.DiscardTargetCost; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.game.stack.StackObject; +import mage.players.Player; +import mage.target.TargetPlayer; +import mage.target.common.TargetCardInHand; + +/** + * + * @author dustinconrad + */ +public class Browbeat extends CardImpl { + + public Browbeat(UUID ownerId) { + super(ownerId, 82, "Browbeat", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{R}"); + this.expansionSetCode = "JUD"; + + this.color.setRed(true); + + // Any player may have Browbeat deal 5 damage to him or her. If no one does, target player draws three cards. + this.getSpellAbility().addEffect(new BrowbeatDrawEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + } + + public Browbeat(final Browbeat card) { + super(card); + } + + @Override + public Browbeat copy() { + return new Browbeat(this); + } +} + +class BrowbeatDrawEffect extends OneShotEffect { + + public BrowbeatDrawEffect() { + super(Outcome.DrawCard); + } + + public BrowbeatDrawEffect(final BrowbeatDrawEffect effect) { + super(effect); + } + + @Override + public BrowbeatDrawEffect copy() { + return new BrowbeatDrawEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + StackObject spell = null; + for(StackObject object : game.getStack()){ + if(object instanceof Spell && object.getSourceId().equals(source.getSourceId())){ + spell = object; + } + } + if(spell != null){ + boolean drawCards = true; + for(UUID uuid : game.getPlayerList()){ + Player player = game.getPlayer(uuid); + if(player.chooseUse(Outcome.Detriment, "Have " + spell.getName() + " deal 5 damage to you?", game)){ + drawCards = false; + player.damage(5, source.getSourceId(), game, false, true); + game.informPlayers(player.getName() + " has " + spell.getName() + " deal 5 to him or her"); + } + } + if (drawCards) { + UUID targetPlayer = getTargetPointer().getFirst(game, source); + if (targetPlayer != null) { + Player player = game.getPlayer(targetPlayer); + player.drawCards(3, game); + } + } + return drawCards; + } + return false; + } + + @Override + public String getText(Mode mode) { + if (staticText != null && !staticText.isEmpty()) { + return staticText; + } + return "Any player may have {source} deal 5 damage to him or her. If no one does, target player draws three cards."; + } +} diff --git a/Mage.Sets/src/mage/sets/limitedalpha/BlackVise.java b/Mage.Sets/src/mage/sets/limitedalpha/BlackVise.java new file mode 100644 index 0000000000..7ea759e5ce --- /dev/null +++ b/Mage.Sets/src/mage/sets/limitedalpha/BlackVise.java @@ -0,0 +1,167 @@ +/* + * 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.limitedalpha; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetOpponent; + +/** + * + * @author dustinconrad + */ +public class BlackVise extends CardImpl { + + public BlackVise(UUID ownerId) { + super(ownerId, 233, "Black Vise", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{1}"); + this.expansionSetCode = "LEA"; + + // As Black Vise enters the battlefield, choose an opponent. + this.addAbility(new AsEntersBattlefieldAbility(new BlackViseChooseOpponent())); + // At the beginning of the chosen player's upkeep, Black Vise deals X damage to that player, where X is the number of cards in his or her hand minus 4. + this.addAbility(new BlackViseTriggeredAbility()); + } + + public BlackVise(final BlackVise card) { + super(card); + } + + @Override + public BlackVise copy() { + return new BlackVise(this); + } +} + +class BlackViseChooseOpponent extends OneShotEffect { + + public BlackViseChooseOpponent() { + super(Outcome.Neutral); + this.staticText = "choose an opponent"; + } + + public BlackViseChooseOpponent(final BlackViseChooseOpponent effect) { + super(effect); + } + + @Override + public BlackViseChooseOpponent copy() { + return new BlackViseChooseOpponent(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanent(source.getSourceId()); + if (player != null && permanent != null) { + TargetOpponent target = new TargetOpponent(); + target.setNotTarget(true); + if (player.choose(this.outcome, target, source.getSourceId(), game)) { + Player chosenPlayer = game.getPlayer(target.getFirstTarget()); + if (chosenPlayer != null) { + game.informPlayers(permanent.getName() + ": " + player.getName() + " has chosen " + chosenPlayer.getName()); + game.getState().setValue(permanent.getId() + "_player", target.getFirstTarget()); + return true; + } + } + } + return false; + } +} + +class BlackViseTriggeredAbility extends TriggeredAbilityImpl { + + public BlackViseTriggeredAbility() { + super(Zone.BATTLEFIELD, new BlackViseEffect(), false); + } + + public BlackViseTriggeredAbility(final BlackViseTriggeredAbility ability) { + super(ability); + } + + @Override + public BlackViseTriggeredAbility copy() { + return new BlackViseTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.UPKEEP_STEP_PRE) { + return event.getPlayerId().equals((UUID) game.getState().getValue(getSourceId().toString() + "_player")); + } + return false; + } + + @Override + public String getRule() { + return new StringBuilder("At the beginning of the chosen player's upkeep, ").append(super.getRule()).toString(); + } +} + +class BlackViseEffect extends OneShotEffect { + + public BlackViseEffect() { + super(Outcome.Benefit); + this.staticText = "{this} deals X damage to that player, where X is the number of cards in his or her hand minus 4"; + } + + public BlackViseEffect(final BlackViseEffect effect) { + super(effect); + } + + @Override + public BlackViseEffect copy() { + return new BlackViseEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + UUID playerId = (UUID) game.getState().getValue(source.getSourceId().toString() + "_player"); + Player chosenPlayer = game.getPlayer(playerId); + if (chosenPlayer != null) { + int damage = chosenPlayer.getHand().size() - 4; + if (damage > 0) { + chosenPlayer.damage(damage, source.getSourceId(), game, false, true); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/limitedalpha/Disintegrate.java b/Mage.Sets/src/mage/sets/limitedalpha/Disintegrate.java new file mode 100644 index 0000000000..8bb12b22cd --- /dev/null +++ b/Mage.Sets/src/mage/sets/limitedalpha/Disintegrate.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.limitedalpha; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.common.DamagedByWatcher; + +/** + * + * @author dustinconrad + */ +public class Disintegrate extends CardImpl { + + public Disintegrate(UUID ownerId) { + super(ownerId, 141, "Disintegrate", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{X}{R}"); + this.expansionSetCode = "LEA"; + + this.color.setRed(true); + + // Disintegrate deals X damage to target creature or player. That creature can't be regenerated this turn. If the creature would die this turn, exile it instead. + this.getSpellAbility().addEffect(new DamageTargetEffect(new ManacostVariableValue())); + this.getSpellAbility().addEffect(new DisintegrateCantRegenerateEffect()); + this.getSpellAbility().addEffect(new DisintegrateExileEffect()); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} + +class DisintegrateCantRegenerateEffect extends ReplacementEffectImpl { + + public DisintegrateCantRegenerateEffect() { + super(Duration.EndOfTurn, Outcome.Detriment); + staticText = "That creature can't be regenerated this turn"; + } + + public DisintegrateCantRegenerateEffect(final DisintegrateCantRegenerateEffect effect) { + super(effect); + } + + @Override + public DisintegrateCantRegenerateEffect copy() { + return new DisintegrateCantRegenerateEffect(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 (GameEvent.EventType.REGENERATE.equals(event.getType())) { + UUID targetId = getTargetPointer().getFirst(game, source); + if (targetId != null) { + return targetId.equals(event.getTargetId()); + } + } + return false; + } +} + +class DisintegrateExileEffect extends ReplacementEffectImpl { + + public DisintegrateExileEffect() { + super(Duration.EndOfTurn, Outcome.Exile); + staticText = "If the creature would die this turn, exile it instead"; + } + + public DisintegrateExileEffect(final DisintegrateExileEffect effect) { + super(effect); + } + + @Override + public DisintegrateExileEffect copy() { + return new DisintegrateExileEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + Permanent permanent = ((ZoneChangeEvent) event).getTarget(); + if (permanent != null) { + return permanent.moveToExile(null, "", source.getSourceId(), game); + } + return false; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (GameEvent.EventType.ZONE_CHANGE.equals(event.getType()) && ((ZoneChangeEvent) event).isDiesEvent()) { + UUID targetId = getTargetPointer().getFirst(game, source); + if (targetId != null) { + return targetId.equals(event.getTargetId()); + } + } + return false; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/limitedbeta/BlackVise.java b/Mage.Sets/src/mage/sets/limitedbeta/BlackVise.java new file mode 100644 index 0000000000..62808be3c1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/limitedbeta/BlackVise.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.limitedbeta; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class BlackVise extends mage.sets.limitedalpha.BlackVise { + + public BlackVise(UUID ownerId) { + super(ownerId); + this.cardNumber = 235; + this.expansionSetCode = "LEB"; + } + + public BlackVise(final BlackVise card) { + super(card); + } + + @Override + public BlackVise copy() { + return new BlackVise(this); + } +} diff --git a/Mage.Sets/src/mage/sets/limitedbeta/Disintegrate.java b/Mage.Sets/src/mage/sets/limitedbeta/Disintegrate.java new file mode 100644 index 0000000000..c4e59f8699 --- /dev/null +++ b/Mage.Sets/src/mage/sets/limitedbeta/Disintegrate.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.limitedbeta; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 142; + this.expansionSetCode = "LEB"; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/odyssey/EngulfingFlames.java b/Mage.Sets/src/mage/sets/odyssey/EngulfingFlames.java index 0dde32b8a6..cdf77f009d 100644 --- a/Mage.Sets/src/mage/sets/odyssey/EngulfingFlames.java +++ b/Mage.Sets/src/mage/sets/odyssey/EngulfingFlames.java @@ -46,7 +46,7 @@ import mage.watchers.common.DamagedByWatcher; /** * - * @author cbt33, North (Incinerate) + * @author cbt33, North */ public class EngulfingFlames extends CardImpl { @@ -75,7 +75,6 @@ public class EngulfingFlames extends CardImpl { } } - class EngulfingFlamesEffect extends ReplacementEffectImpl { public EngulfingFlamesEffect() { @@ -104,14 +103,13 @@ class EngulfingFlamesEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getType() == GameEvent.EventType.REGENERATE) { - DamagedByWatcher watcher = (DamagedByWatcher) game.getState().getWatchers().get("DamagedByWatcher", source.getSourceId()); - if (watcher != null) { - return watcher.damagedCreatures.contains(event.getTargetId()); + if (GameEvent.EventType.REGENERATE.equals(event.getType())) { + UUID targetId = getTargetPointer().getFirst(game, source); + if (targetId != null) { + return targetId.equals(event.getTargetId()); } } return false; } - } diff --git a/Mage.Sets/src/mage/sets/planarchaos/AvenRiftwatcher.java b/Mage.Sets/src/mage/sets/planarchaos/AvenRiftwatcher.java new file mode 100644 index 0000000000..5369bab7c4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/AvenRiftwatcher.java @@ -0,0 +1,86 @@ +/* + * 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.planarchaos; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.VanishingSacrificeAbility; +import mage.abilities.keyword.VanishingUpkeepAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.counters.CounterType; +import mage.target.TargetPlayer; + +/** + * + * @author dustinconrad + */ +public class AvenRiftwatcher extends CardImpl { + + public AvenRiftwatcher(UUID ownerId) { + super(ownerId, 1, "Aven Riftwatcher", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "PLC"; + this.subtype.add("Bird"); + this.subtype.add("Rebel"); + this.subtype.add("Soldier"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Vanishing 3 + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(2)))); + this.addAbility(new VanishingUpkeepAbility(2)); + this.addAbility(new VanishingSacrificeAbility()); + // When Aven Riftwatcher enters the battlefield or leaves the battlefield, you gain 2 life. + Ability ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(2), false); + this.addAbility(ability); + Ability ability2 = new LeavesBattlefieldTriggeredAbility(new GainLifeEffect(2), false); + this.addAbility(ability2); + } + + public AvenRiftwatcher(final AvenRiftwatcher card) { + super(card); + } + + @Override + public AvenRiftwatcher copy() { + return new AvenRiftwatcher(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/DeadGone.java b/Mage.Sets/src/mage/sets/planarchaos/DeadGone.java new file mode 100644 index 0000000000..ceab6f00f7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/DeadGone.java @@ -0,0 +1,62 @@ +package mage.sets.planarchaos; + +import mage.abilities.Mode; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.Card; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author dustinconrad + */ +public class DeadGone extends SplitCard { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you don't control"); + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public DeadGone(UUID ownerId) { + super(ownerId, 113, "Dead", "Gone", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{R}", "{2}{R}", false); + this.expansionSetCode = "PLC"; + this.color.setRed(true); + + // Dead + // Dead deals 2 damage to target creature. + getLeftHalfCard().getColor().setRed(true); + getLeftHalfCard().getSpellAbility().addEffect(new DeadDamageEffect()); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Gone + // Return target creature you don't control to its owner's hand. + getRightHalfCard().getColor().setRed(true); + getRightHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + } + + public DeadGone(final DeadGone card) { + super(card); + } + + @Override + public Card copy() { + return new DeadGone(this); + } +} + +class DeadDamageEffect extends DamageTargetEffect { + + public DeadDamageEffect() { + super(2); + // Full name of split card was displaying using DamageTargetEffect + staticText = "Dead deals 2 damage to target creature."; + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/Phantasmagorian.java b/Mage.Sets/src/mage/sets/planarchaos/Phantasmagorian.java index 0bb845a808..f557a1da4c 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/Phantasmagorian.java +++ b/Mage.Sets/src/mage/sets/planarchaos/Phantasmagorian.java @@ -106,7 +106,7 @@ class CounterSourceEffect extends OneShotEffect { if(spell != null){ for(UUID uuid : game.getPlayerList()){ Player player = game.getPlayer(uuid); - if(player.chooseUse(Outcome.Detriment, "Discard tree cards to counter " + spell.getName() + "?", game)){ + if(player.chooseUse(Outcome.Detriment, "Discard three cards to counter " + spell.getName() + "?", game)){ DiscardTargetCost cost = new DiscardTargetCost(new TargetCardInHand(3, 3, new FilterCard())); if(cost.pay(source, game, source.getSourceId(), uuid, false)){ game.informPlayers(player.getName() + " discards 3 cards to counter " + spell.getName() + "."); diff --git a/Mage.Sets/src/mage/sets/planarchaos/PiracyCharm.java b/Mage.Sets/src/mage/sets/planarchaos/PiracyCharm.java new file mode 100644 index 0000000000..dedb09b89f --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/PiracyCharm.java @@ -0,0 +1,79 @@ +/* + * 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.planarchaos; + +import java.util.UUID; + +import mage.abilities.Mode; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.keyword.IslandwalkAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.target.TargetPlayer; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author dustinconrad + */ +public class PiracyCharm extends CardImpl { + + public PiracyCharm(UUID ownerId) { + super(ownerId, 58, "Piracy Charm", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{U}"); + this.expansionSetCode = "PLC"; + + this.color.setBlue(true); + + // Choose one - Target creature gains islandwalk until end of turn; + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + // or target creature gets +2/-1 until end of turn; + Mode mode = new Mode(); + mode.getEffects().add(new BoostTargetEffect(2, -1, Duration.EndOfTurn)); + mode.getTargets().add(new TargetCreaturePermanent()); + this.getSpellAbility().addMode(mode); + // or target player discards a card. + mode = new Mode(); + mode.getEffects().add(new DiscardTargetEffect(1)); + mode.getTargets().add(new TargetPlayer()); + this.getSpellAbility().addMode(mode); + } + + public PiracyCharm(final PiracyCharm card) { + super(card); + } + + @Override + public PiracyCharm copy() { + return new PiracyCharm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase/Browbeat.java b/Mage.Sets/src/mage/sets/planechase/Browbeat.java new file mode 100644 index 0000000000..4885e6fd36 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase/Browbeat.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.planechase; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class Browbeat extends mage.sets.judgment.Browbeat { + + public Browbeat(UUID ownerId) { + super(ownerId); + this.cardNumber = 50; + this.expansionSetCode = "HOP"; + } + + public Browbeat(final Browbeat card) { + super(card); + } + + @Override + public Browbeat copy() { + return new Browbeat(this); + } +} diff --git a/Mage.Sets/src/mage/sets/revisededition/BlackVise.java b/Mage.Sets/src/mage/sets/revisededition/BlackVise.java new file mode 100644 index 0000000000..919ad47238 --- /dev/null +++ b/Mage.Sets/src/mage/sets/revisededition/BlackVise.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.revisededition; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class BlackVise extends mage.sets.limitedalpha.BlackVise { + + public BlackVise(UUID ownerId) { + super(ownerId); + this.cardNumber = 236; + this.expansionSetCode = "3ED"; + } + + public BlackVise(final BlackVise card) { + super(card); + } + + @Override + public BlackVise copy() { + return new BlackVise(this); + } +} diff --git a/Mage.Sets/src/mage/sets/revisededition/Disintegrate.java b/Mage.Sets/src/mage/sets/revisededition/Disintegrate.java new file mode 100644 index 0000000000..d97d69adba --- /dev/null +++ b/Mage.Sets/src/mage/sets/revisededition/Disintegrate.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.revisededition; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 141; + this.expansionSetCode = "3ED"; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timeshifted/Browbeat.java b/Mage.Sets/src/mage/sets/timeshifted/Browbeat.java new file mode 100644 index 0000000000..42666a1e8d --- /dev/null +++ b/Mage.Sets/src/mage/sets/timeshifted/Browbeat.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.timeshifted; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author dustinconrad + */ +public class Browbeat extends mage.sets.judgment.Browbeat { + + public Browbeat(UUID ownerId) { + super(ownerId); + this.cardNumber = 56; + this.expansionSetCode = "TSB"; + this.rarity = Rarity.SPECIAL; + } + + public Browbeat(final Browbeat card) { + super(card); + } + + @Override + public Browbeat copy() { + return new Browbeat(this); + } +} diff --git a/Mage.Sets/src/mage/sets/timeshifted/Disintegrate.java b/Mage.Sets/src/mage/sets/timeshifted/Disintegrate.java new file mode 100644 index 0000000000..a4ca268392 --- /dev/null +++ b/Mage.Sets/src/mage/sets/timeshifted/Disintegrate.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.timeshifted; + +import java.util.UUID; +import mage.constants.Rarity; + +/** + * + * @author dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 58; + this.expansionSetCode = "TSB"; + this.rarity = Rarity.SPECIAL; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/unlimitededition/BlackVise.java b/Mage.Sets/src/mage/sets/unlimitededition/BlackVise.java new file mode 100644 index 0000000000..1e4b8e15ae --- /dev/null +++ b/Mage.Sets/src/mage/sets/unlimitededition/BlackVise.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.unlimitededition; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class BlackVise extends mage.sets.limitedalpha.BlackVise { + + public BlackVise(UUID ownerId) { + super(ownerId); + this.cardNumber = 234; + this.expansionSetCode = "2ED"; + } + + public BlackVise(final BlackVise card) { + super(card); + } + + @Override + public BlackVise copy() { + return new BlackVise(this); + } +} diff --git a/Mage.Sets/src/mage/sets/unlimitededition/Disintegrate.java b/Mage.Sets/src/mage/sets/unlimitededition/Disintegrate.java new file mode 100644 index 0000000000..c0f88564b8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/unlimitededition/Disintegrate.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.unlimitededition; + +import java.util.UUID; + +/** + * + * @author dustinconrad + */ +public class Disintegrate extends mage.sets.limitedalpha.Disintegrate { + + public Disintegrate(UUID ownerId) { + super(ownerId); + this.cardNumber = 141; + this.expansionSetCode = "2ED"; + } + + public Disintegrate(final Disintegrate card) { + super(card); + } + + @Override + public Disintegrate copy() { + return new Disintegrate(this); + } +}