mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
latest
This commit is contained in:
parent
736b59967a
commit
ecef0ab8dc
94 changed files with 2539 additions and 137 deletions
|
@ -45,12 +45,15 @@ public class AlaraReborn extends ExpansionSet {
|
|||
|
||||
private AlaraReborn() {
|
||||
this.name = "Alara Reborn";
|
||||
this.cards.add(BehemothSledge.class);
|
||||
this.cards.add(BituminousBlast.class);
|
||||
this.cards.add(BloodbraidElf.class);
|
||||
this.cards.add(FinestHour.class);
|
||||
this.cards.add(MaelstromPulse.class);
|
||||
this.cards.add(PutridLeech.class);
|
||||
this.cards.add(SpellbreakerBehemoth.class);
|
||||
this.cards.add(Terminate.class);
|
||||
this.cards.add(VengefulRebirth.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -45,9 +45,12 @@ public class Conflux extends ExpansionSet {
|
|||
|
||||
private Conflux() {
|
||||
this.name = "Conflux";
|
||||
this.cards.add(FontOfMythos.class);
|
||||
this.cards.add(KnightOfTheReliquary.class);
|
||||
this.cards.add(MartialCoup.class);
|
||||
this.cards.add(NobleHierarch.class);
|
||||
this.cards.add(PathToExile.class);
|
||||
this.cards.add(Thornling.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -46,17 +46,25 @@ public class Magic2010 extends ExpansionSet {
|
|||
private Magic2010() {
|
||||
this.name = "Magic 2010";
|
||||
this.cards.add(BaneslayerAngel.class);
|
||||
this.cards.add(BirdsOfParadise.class);
|
||||
this.cards.add(Cancel.class);
|
||||
this.cards.add(CelestialPurge.class);
|
||||
this.cards.add(DragonskullSummit.class);
|
||||
this.cards.add(Flashfreeze.class);
|
||||
this.cards.add(GargoyleCastle.class);
|
||||
this.cards.add(GarrukWildspeaker.class);
|
||||
this.cards.add(GlacialFortress.class);
|
||||
this.cards.add(GreatSableStag.class);
|
||||
this.cards.add(HonorOfThePure.class);
|
||||
this.cards.add(HowlingMine.class);
|
||||
this.cards.add(JaceBeleren.class);
|
||||
this.cards.add(LightningBolt.class);
|
||||
this.cards.add(MasterOfTheWildHunt.class);
|
||||
this.cards.add(RootboundCrag.class);
|
||||
this.cards.add(SafePassage.class);
|
||||
this.cards.add(SunpetalGrove.class);
|
||||
this.cards.add(TerramorphicExpanse.class);
|
||||
this.cards.add(TimeWarp.class);
|
||||
this.cards.add(WhiteKnight.class);
|
||||
}
|
||||
}
|
||||
|
|
57
Mage.Sets/src/mage/sets/Sets.java
Normal file
57
Mage.Sets/src/mage/sets/Sets.java
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* 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;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import mage.cards.ExpansionSet;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Sets extends ArrayList<ExpansionSet> {
|
||||
|
||||
private static final Sets fINSTANCE = new Sets();
|
||||
|
||||
public static Sets getInstance() {
|
||||
return fINSTANCE;
|
||||
}
|
||||
|
||||
private Sets() {
|
||||
this.add(AlaraReborn.getInstance());
|
||||
this.add(Conflux.getInstance());
|
||||
this.add(Magic2010.getInstance());
|
||||
this.add(Planechase.getInstance());
|
||||
this.add(ShardsOfAlara.getInstance());
|
||||
this.add(Tenth.getInstance());
|
||||
this.add(Worldwake.getInstance());
|
||||
this.add(Zendikar.getInstance());
|
||||
}
|
||||
|
||||
}
|
|
@ -46,12 +46,16 @@ public class ShardsOfAlara extends ExpansionSet {
|
|||
private ShardsOfAlara() {
|
||||
this.name = "Shards Of Alara";
|
||||
this.cards.add(AjaniVengeant.class);
|
||||
this.cards.add(Angelsong.class);
|
||||
this.cards.add(Blightning.class);
|
||||
this.cards.add(BroodmateDragon.class);
|
||||
this.cards.add(CrumblingNecropolis.class);
|
||||
this.cards.add(ElspethKnightErrant.class);
|
||||
this.cards.add(JundPanorama.class);
|
||||
this.cards.add(KnightOfTheWhiteOrchid.class);
|
||||
this.cards.add(RafiqOfTheMany.class);
|
||||
this.cards.add(RangerOfEos.class);
|
||||
this.cards.add(RhoxWarMonk.class);
|
||||
this.cards.add(SarkhanVol.class);
|
||||
this.cards.add(SavageLands.class);
|
||||
this.cards.add(SproutingThrinax.class);
|
||||
|
|
|
@ -46,7 +46,12 @@ public class Worldwake extends ExpansionSet {
|
|||
private Worldwake() {
|
||||
this.name = "Worldwake";
|
||||
this.cards.add(BasiliskCollar.class);
|
||||
this.cards.add(CelestialColonnade.class);
|
||||
this.cards.add(RagingRavine.class);
|
||||
this.cards.add(SejiriSteppe.class);
|
||||
this.cards.add(StirringWildwood.class);
|
||||
this.cards.add(StoneforgeMystic.class);
|
||||
this.cards.add(TectonicEdge.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -45,17 +45,25 @@ public class Zendikar extends ExpansionSet {
|
|||
|
||||
private Zendikar() {
|
||||
this.name = "Zendikar";
|
||||
this.cards.add(ArchiveTrap.class);
|
||||
this.cards.add(AridMesa.class);
|
||||
this.cards.add(BraveTheElements.class);
|
||||
this.cards.add(BurstLightning.class);
|
||||
this.cards.add(ConquerorsPledge.class);
|
||||
this.cards.add(DayOfJudgment.class);
|
||||
this.cards.add(EmeriaAngel.class);
|
||||
this.cards.add(GoblinRuinblaster.class);
|
||||
this.cards.add(KabiraCrossroads.class);
|
||||
this.cards.add(LotusCobra.class);
|
||||
this.cards.add(MarshFlats.class);
|
||||
this.cards.add(MistyRainforest.class);
|
||||
this.cards.add(OranRiefTheVastwood.class);
|
||||
this.cards.add(RampagingBaloths.class);
|
||||
this.cards.add(ScaldingTarn.class);
|
||||
this.cards.add(ScuteMob.class);
|
||||
this.cards.add(SteppeLynx.class);
|
||||
this.cards.add(SunspringExpedition.class);
|
||||
this.cards.add(TeeteringPeaks.class);
|
||||
this.cards.add(VerdantCatacombs.class);
|
||||
}
|
||||
|
||||
|
|
62
Mage.Sets/src/mage/sets/alarareborn/BehemothSledge.java
Normal file
62
Mage.Sets/src/mage/sets/alarareborn/BehemothSledge.java
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* 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.alarareborn;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.BoostEquippedEffect;
|
||||
import mage.abilities.effects.common.GainAbilityEquippedEffect;
|
||||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class BehemothSledge extends CardImpl {
|
||||
|
||||
public BehemothSledge(UUID ownerId) {
|
||||
super(ownerId, "Behemoth Sledge", new CardType[]{CardType.ARTIFACT}, "{1}{G}{W}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.art = "120963_typ_reg_sty_010.jpg";
|
||||
this.subtype.add("Equipment");
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityEquippedEffect(LifelinkAbility.getInstance())));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityEquippedEffect(TrampleAbility.getInstance())));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)));
|
||||
}
|
||||
|
||||
}
|
|
@ -33,6 +33,7 @@ import mage.Constants.CardType;
|
|||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.keyword.CascadeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
@ -43,6 +44,7 @@ public class BituminousBlast extends CardImpl {
|
|||
|
||||
public BituminousBlast(UUID ownerId) {
|
||||
super(ownerId, "Bituminous Blast", new CardType[]{CardType.INSTANT}, "{3}{B}{R}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setRed(true);
|
||||
this.art = "121045_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -34,6 +34,7 @@ import mage.MageInt;
|
|||
import mage.abilities.keyword.CascadeAbility;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -43,6 +44,7 @@ public class BloodbraidElf extends CardImpl {
|
|||
|
||||
public BloodbraidElf(UUID ownerId) {
|
||||
super(ownerId, "Bloodbraid Elf", new CardType[]{CardType.CREATURE}, "{2}{R}{G}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Elf");
|
||||
|
|
117
Mage.Sets/src/mage/sets/alarareborn/FinestHour.java
Normal file
117
Mage.Sets/src/mage/sets/alarareborn/FinestHour.java
Normal file
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* 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.alarareborn;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.TurnPhase;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.ExaltedAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.turn.TurnMod;
|
||||
import mage.sets.AlaraReborn;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class FinestHour extends CardImpl {
|
||||
|
||||
public FinestHour(UUID ownerId) {
|
||||
super(ownerId, "Finest Hour", new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}{U}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.color.setGreen(true);
|
||||
this.color.setBlue(true);
|
||||
this.art = "121018_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new ExaltedAbility());
|
||||
this.addAbility(new FinestHourAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class FinestHourAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public FinestHourAbility() {
|
||||
super(Zone.BATTLEFIELD, new FinestHourEffect());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (checkIfClause(game) && game.getActivePlayerId().equals(this.controllerId)) {
|
||||
if (event.getType() == EventType.DECLARED_ATTACKERS) {
|
||||
if (game.getCombat().attacksAlone()) {
|
||||
this.targets.add(new TargetCreaturePermanent());
|
||||
this.targets.get(0).getTargets().add(game.getCombat().getAttackers().get(0));
|
||||
trigger(game, event.getPlayerId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
return game.getTurn().getPhase(TurnPhase.COMBAT).getCount() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a creature you control attacks alone, if it's the first combat phase of the turn, untap that creature. After this phase, there is an additional combat phase.";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class FinestHourEffect extends OneShotEffect {
|
||||
|
||||
public FinestHourEffect() {
|
||||
super(Outcome.Benefit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game) {
|
||||
Permanent permanent = game.getPermanent(this.source.getFirstTarget());
|
||||
if (permanent != null) {
|
||||
permanent.setTapped(false);
|
||||
game.getState().getTurnMods().add(new TurnMod(this.source.getControllerId(), TurnPhase.COMBAT, null));
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.DestroyAllNamedPermanentsEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
import mage.target.common.TargetNonlandPermanent;
|
||||
|
||||
/**
|
||||
|
@ -42,6 +43,7 @@ public class MaelstromPulse extends CardImpl {
|
|||
|
||||
public MaelstromPulse(UUID ownerId) {
|
||||
super(ownerId, "Maelstrom Pulse", new CardType[]{CardType.SORCERY}, "{1}{B}{G}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setGreen(true);
|
||||
this.art = "121021_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -30,12 +30,14 @@ package mage.sets.alarareborn;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.ActivateOncePerTurnActivatedAbility;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.effects.common.BoostSourceEOTEffect;
|
||||
import mage.abilities.effects.common.BoostSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,6 +47,7 @@ public class PutridLeech extends CardImpl {
|
|||
|
||||
public PutridLeech(UUID ownerId) {
|
||||
super(ownerId, "Putrid Leech", new CardType[]{CardType.CREATURE}, "{B}{G}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Zombie");
|
||||
|
@ -52,6 +55,6 @@ public class PutridLeech extends CardImpl {
|
|||
this.art = "120997_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
this.addAbility(new ActivateOncePerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEOTEffect(2, 2), new PayLifeCost(2)));
|
||||
this.addAbility(new ActivateOncePerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new PayLifeCost(2)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ import mage.abilities.effects.common.CantCounterControlledEffect;
|
|||
import mage.abilities.effects.common.CantCounterSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.sets.AlaraReborn;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -46,6 +47,7 @@ public class SpellbreakerBehemoth extends CardImpl {
|
|||
|
||||
public SpellbreakerBehemoth(UUID ownerId) {
|
||||
super(ownerId, "Spellbreaker Behemoth", new CardType[]{CardType.CREATURE}, "{1}{R}{G}{G}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Beast");
|
||||
|
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.DestroyNoRegenTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.AlaraReborn;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
@ -42,6 +43,7 @@ public class Terminate extends CardImpl {
|
|||
|
||||
public Terminate(UUID ownerId) {
|
||||
super(ownerId, "Terminate", new CardType[]{CardType.INSTANT}, "{B}{R}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setRed(true);
|
||||
this.art = "115230_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.sets.AlaraReborn;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
|
||||
|
@ -49,6 +50,7 @@ public class VengefulRebirth extends CardImpl {
|
|||
|
||||
public VengefulRebirth(UUID ownerId) {
|
||||
super(ownerId, "Vengeful Rebirth", new CardType[]{CardType.SORCERY}, "{4}{R}{G}");
|
||||
this.expansionSetId = AlaraReborn.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
this.art = "115104_typ_reg_sty_010.jpg";
|
||||
|
|
78
Mage.Sets/src/mage/sets/conflux/FontOfMythos.java
Normal file
78
Mage.Sets/src/mage/sets/conflux/FontOfMythos.java
Normal file
|
@ -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.conflux;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.sets.Conflux;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class FontOfMythos extends CardImpl {
|
||||
|
||||
public FontOfMythos(UUID ownerId) {
|
||||
super(ownerId, "Font of Mythos", new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.art = "119800_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new FontOfMythosAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class FontOfMythosAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public FontOfMythosAbility() {
|
||||
super(Zone.BATTLEFIELD, new DrawCardTargetEffect(2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.DRAW_STEP_PRE) {
|
||||
this.targets.add(new TargetPlayer());
|
||||
this.targets.get(0).getTargets().add(event.getPlayerId());
|
||||
trigger(game, event.getPlayerId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of each player's draw step, that player draws two additional cards.";
|
||||
}
|
||||
|
||||
}
|
120
Mage.Sets/src/mage/sets/conflux/KnightOfTheReliquary.java
Normal file
120
Mage.Sets/src/mage/sets/conflux/KnightOfTheReliquary.java
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
* 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.conflux;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Layer;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.SubLayer;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.Costs;
|
||||
import mage.abilities.costs.CostsImpl;
|
||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.common.FilterLandCard;
|
||||
import mage.filter.common.FilterLandPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.sets.Conflux;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class KnightOfTheReliquary extends CardImpl {
|
||||
|
||||
private static FilterLandPermanent filter = new FilterLandPermanent("Forest or Plains");
|
||||
|
||||
static {
|
||||
filter.getSubtype().add("Forest");
|
||||
filter.getSubtype().add("Plains");
|
||||
filter.setScopeSubtype(ComparisonScope.Any);
|
||||
}
|
||||
|
||||
public KnightOfTheReliquary(UUID ownerId) {
|
||||
super(ownerId, "Knight of the Reliquary", new CardType[]{CardType.CREATURE}, "{1}{G}{W}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Knight");
|
||||
this.art = "119798_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(new FilterLandCard());
|
||||
TargetLandPermanent sac = new TargetLandPermanent(1, 1, filter, TargetController.YOU);
|
||||
Costs costs = new CostsImpl();
|
||||
costs.add(new TapSourceCost());
|
||||
costs.add(new SacrificeTargetCost(sac));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KnightOfTheReliquaryEffect()));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay), costs));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class KnightOfTheReliquaryEffect extends ContinuousEffectImpl {
|
||||
|
||||
private static FilterLandCard filter = new FilterLandCard();
|
||||
|
||||
public KnightOfTheReliquaryEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game) {
|
||||
int count = game.getPlayer(this.source.getControllerId()).getGraveyard().count(filter);
|
||||
if (count > 0) {
|
||||
Permanent target = (Permanent) game.getPermanent(this.source.getSourceId());
|
||||
if (target != null) {
|
||||
target.addPower(count);
|
||||
target.addToughness(count);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return "{this} gets +1/+1 for each land card in your graveyard";
|
||||
}
|
||||
|
||||
}
|
|
@ -38,6 +38,7 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.token.SoldierToken;
|
||||
import mage.players.Player;
|
||||
import mage.sets.Conflux;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class MartialCoup extends CardImpl {
|
|||
|
||||
public MartialCoup(UUID ownerId) {
|
||||
super(ownerId, "Martial Coup", new CardType[]{CardType.SORCERY}, "{X}{W}{W}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "118685_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addEffect(new MartialCoupEffect());
|
||||
|
@ -59,9 +61,10 @@ class MartialCoupEffect extends OneShotEffect {
|
|||
super(Outcome.PutCreatureInPlay);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game) {
|
||||
Player controller = game.getPlayer(this.source.getControllerId());
|
||||
int amount = this.source.getCosts().getVariableCosts().get(0).getValue();
|
||||
int amount = this.source.getManaCosts().getVariableCosts().get(0).getValue();
|
||||
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||
if (amount > 4) {
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.mana.BlueManaAbility;
|
|||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Conflux;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,6 +46,7 @@ public class NobleHierarch extends CardImpl {
|
|||
|
||||
public NobleHierarch(UUID ownerId) {
|
||||
super(ownerId, "Noble Hierarch", new CardType[]{CardType.CREATURE}, "{G}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Druid");
|
||||
|
|
|
@ -39,6 +39,7 @@ import mage.filter.common.FilterBasicLandCard;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.sets.Conflux;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
|
@ -50,6 +51,7 @@ public class PathToExile extends CardImpl {
|
|||
|
||||
public PathToExile(UUID ownerId) {
|
||||
super(ownerId, "Path To Exile", new CardType[]{CardType.INSTANT}, "{W}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "118686_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
|
68
Mage.Sets/src/mage/sets/conflux/Thornling.java
Normal file
68
Mage.Sets/src/mage/sets/conflux/Thornling.java
Normal file
|
@ -0,0 +1,68 @@
|
|||
/*
|
||||
* 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.conflux;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.BoostSourceEffect;
|
||||
import mage.abilities.effects.common.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.IndestructableAbility;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Conflux;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Thornling extends CardImpl {
|
||||
|
||||
public Thornling(UUID ownerId) {
|
||||
super(ownerId, "Thornling", new CardType[]{CardType.CREATURE}, "{3}{G}{G}");
|
||||
this.expansionSetId = Conflux.getInstance().getId();
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Elemental");
|
||||
this.subtype.add("Shapeshifter");
|
||||
this.art = "118734_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCosts("{G}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCosts("{G}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(IndestructableAbility.getInstance(), Duration.EndOfTurn), new ManaCosts("{G}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCosts("{1}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(-1, 1, Duration.EndOfTurn), new ManaCosts("{1}")));
|
||||
}
|
||||
|
||||
}
|
|
@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class BaneslayerAngel extends CardImpl {
|
|||
|
||||
public BaneslayerAngel(UUID ownerId) {
|
||||
super(ownerId, "Baneslayer Angel", new CardType[]{CardType.CREATURE}, "{3}{W}{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Angel");
|
||||
this.color.setWhite(true);
|
||||
this.art = "";
|
||||
|
|
65
Mage.Sets/src/mage/sets/magic2010/BirdsOfParadise.java
Normal file
65
Mage.Sets/src/mage/sets/magic2010/BirdsOfParadise.java
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.mana.BlackManaAbility;
|
||||
import mage.abilities.mana.BlueManaAbility;
|
||||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.abilities.mana.RedManaAbility;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class BirdsOfParadise extends CardImpl {
|
||||
|
||||
public BirdsOfParadise(UUID ownerId) {
|
||||
super(ownerId, "Birds of Paradise", new CardType[]{CardType.CREATURE}, "{G}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Bird");
|
||||
this.color.setGreen(true);
|
||||
this.art = "88690_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(0);
|
||||
this.toughness = new MageInt(1);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
this.addAbility(new BlackManaAbility());
|
||||
this.addAbility(new BlueManaAbility());
|
||||
this.addAbility(new GreenManaAbility());
|
||||
this.addAbility(new RedManaAbility());
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
}
|
||||
|
||||
}
|
|
@ -32,7 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.CounterTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetSpell;
|
||||
|
||||
/**
|
||||
|
@ -41,13 +41,12 @@ import mage.target.TargetSpell;
|
|||
*/
|
||||
public class Cancel extends CardImpl {
|
||||
|
||||
private static FilterSpell filter = new FilterSpell();
|
||||
|
||||
public Cancel(UUID ownerId) {
|
||||
super(ownerId, "Cancel", new CardType[]{CardType.INSTANT}, "{1}{U}{U}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setBlue(true);
|
||||
this.art = "116179_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||
this.getSpellAbility().addTarget(new TargetSpell());
|
||||
this.getSpellAbility().addEffect(new CounterTargetEffect());
|
||||
}
|
||||
|
||||
|
|
|
@ -31,11 +31,11 @@ package mage.sets.magic2010;
|
|||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.effects.common.ExileTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
|
@ -55,6 +55,7 @@ public class CelestialPurge extends CardImpl {
|
|||
|
||||
public CelestialPurge(UUID ownerId) {
|
||||
super(ownerId, "Celestial Purge", new CardType[]{CardType.INSTANT}, "{1}{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "118751_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(filter, TargetController.ANY));
|
||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class DragonskullSummit extends CardImpl {
|
|||
|
||||
public DragonskullSummit(UUID ownerId) {
|
||||
super(ownerId, "Dragonskull Summit", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "121671_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new DragonskullSummitEffect()));
|
||||
this.addAbility(new BlackManaAbility());
|
||||
|
|
54
Mage.Sets/src/mage/sets/magic2010/EliteVanguard.java
Normal file
54
Mage.Sets/src/mage/sets/magic2010/EliteVanguard.java
Normal file
|
@ -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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class EliteVanguard extends CardImpl {
|
||||
|
||||
public EliteVanguard(UUID ownerId) {
|
||||
super(ownerId, "Elite Vanguard", new CardType[]{CardType.CREATURE}, "{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Soldier");
|
||||
this.art = "";
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
}
|
64
Mage.Sets/src/mage/sets/magic2010/Flashfreeze.java
Normal file
64
Mage.Sets/src/mage/sets/magic2010/Flashfreeze.java
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.CounterTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.Filter.ComparisonScope;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetSpell;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Flashfreeze extends CardImpl {
|
||||
|
||||
private static FilterSpell filter = new FilterSpell("red or green spell");
|
||||
|
||||
static {
|
||||
filter.getColor().setRed(true);
|
||||
filter.getColor().setGreen(true);
|
||||
filter.setScopeColor(ComparisonScope.Any);
|
||||
filter.setUseColor(true);
|
||||
}
|
||||
|
||||
public Flashfreeze(UUID ownerId) {
|
||||
super(ownerId, "Flashfreeze", new CardType[]{CardType.INSTANT}, "{1}{U}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setBlue(true);
|
||||
this.art = "96954_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||
this.getSpellAbility().addEffect(new CounterTargetEffect());
|
||||
}
|
||||
|
||||
}
|
|
@ -32,7 +32,6 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
|
@ -42,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -51,6 +51,7 @@ public class GargoyleCastle extends CardImpl {
|
|||
|
||||
public GargoyleCastle(UUID ownerId) {
|
||||
super(ownerId, "Gargoyle Castle", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "122169_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
this.addAbility(new GargoyleCastleAbility());
|
||||
|
|
|
@ -37,11 +37,13 @@ import mage.abilities.LoyaltyAbility;
|
|||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.effects.common.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEOTEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.UntapTargetEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.permanent.token.BeastToken;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
/**
|
||||
|
@ -54,6 +56,7 @@ public class GarrukWildspeaker extends CardImpl {
|
|||
|
||||
public GarrukWildspeaker(UUID ownerId) {
|
||||
super(ownerId, "Garruk Wildspeaker", new CardType[]{CardType.PLANESWALKER}, "{2}{G}{G}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Garruk");
|
||||
this.color.setGreen(true);
|
||||
this.art = "105523_typ_reg_sty_010.jpg";
|
||||
|
@ -67,7 +70,7 @@ public class GarrukWildspeaker extends CardImpl {
|
|||
|
||||
Effects effects1 = new Effects(null);
|
||||
effects1.add(new BoostControlledEffect(3, 3, Duration.EndOfTurn));
|
||||
effects1.add(new GainAbilityControlledEOTEffect(TrampleAbility.getInstance()));
|
||||
effects1.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()));
|
||||
this.addAbility(new LoyaltyAbility(effects1, -4));
|
||||
}
|
||||
}
|
||||
|
|
77
Mage.Sets/src/mage/sets/magic2010/GlacialFortress.java
Normal file
77
Mage.Sets/src/mage/sets/magic2010/GlacialFortress.java
Normal file
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.mana.BlueManaAbility;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class GlacialFortress extends CardImpl {
|
||||
|
||||
public GlacialFortress(UUID ownerId) {
|
||||
super(ownerId, "Glacial Fortress", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "121634_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new GlacialFortressEffect()));
|
||||
this.addAbility(new BlueManaAbility());
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
}
|
||||
}
|
||||
|
||||
class GlacialFortressEffect extends EntersBattlefieldTappedEffect {
|
||||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Game game) {
|
||||
FilterPermanent filter = new FilterPermanent();
|
||||
filter.getName().add("Plains");
|
||||
filter.getName().add("Island");
|
||||
filter.getControllerId().add(this.source.getControllerId());
|
||||
if (game.getBattlefield().count(filter) == 0)
|
||||
return apply(game);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return super.getText() + " unless you control a Plains or an Island";
|
||||
}
|
||||
|
||||
}
|
|
@ -37,6 +37,7 @@ import mage.abilities.effects.common.CantCounterSourceEffect;
|
|||
import mage.abilities.keyword.ProtectionAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -46,6 +47,7 @@ public class GreatSableStag extends CardImpl {
|
|||
|
||||
public GreatSableStag(UUID ownerId) {
|
||||
super(ownerId, "Great Sable Stag", new CardType[]{CardType.CREATURE}, "{1}{G}{G}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Elk");
|
||||
this.color.setGreen(true);
|
||||
this.art = "122172_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.BoostControlledEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,11 +48,12 @@ public class HonorOfThePure extends CardImpl {
|
|||
|
||||
public HonorOfThePure(UUID ownerId) {
|
||||
super(ownerId, "Honor of the Pure", new CardType[]{CardType.ENCHANTMENT}, "{1}{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "";
|
||||
filter.setUseColor(true);
|
||||
filter.getColor().setWhite(true);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileInPlay, filter)));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
83
Mage.Sets/src/mage/sets/magic2010/HowlingMine.java
Normal file
83
Mage.Sets/src/mage/sets/magic2010/HowlingMine.java
Normal file
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class HowlingMine extends CardImpl {
|
||||
|
||||
public HowlingMine(UUID ownerId) {
|
||||
super(ownerId, "Howling Mine", new CardType[]{CardType.ARTIFACT}, "{2}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "102959_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new HowlingMineAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class HowlingMineAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public HowlingMineAbility() {
|
||||
super(Zone.BATTLEFIELD, new DrawCardTargetEffect(1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.DRAW_STEP_PRE) {
|
||||
this.targets.add(new TargetPlayer());
|
||||
this.targets.get(0).getTargets().add(event.getPlayerId());
|
||||
trigger(game, event.getPlayerId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
return !game.getPermanent(this.sourceId).isTapped();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of each player's draw step, if {this} is untapped, that player draws an additional card.";
|
||||
}
|
||||
|
||||
}
|
68
Mage.Sets/src/mage/sets/magic2010/JaceBeleren.java
Normal file
68
Mage.Sets/src/mage/sets/magic2010/JaceBeleren.java
Normal file
|
@ -0,0 +1,68 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.effects.common.DrawCardAllEffect;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class JaceBeleren extends CardImpl {
|
||||
|
||||
public JaceBeleren(UUID ownerId) {
|
||||
super(ownerId, "Jace Beleren", new CardType[]{CardType.PLANESWALKER}, "{1}{U}{U}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Jace");
|
||||
this.color.setBlue(true);
|
||||
this.art = "105537_typ_reg_sty_010.jpg";
|
||||
this.loyalty = new MageInt(3);
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new DrawCardAllEffect(1), 2));
|
||||
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(new DrawCardTargetEffect(1), -1);
|
||||
ability1.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability1);
|
||||
|
||||
LoyaltyAbility ability2 = new LoyaltyAbility(new PutLibraryIntoGraveTargetEffect(20), -10);
|
||||
ability2.addTarget(new TargetPlayer());
|
||||
this.addAbility(ability2);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
|
||||
/**
|
||||
|
@ -42,6 +43,7 @@ public class LightningBolt extends CardImpl {
|
|||
|
||||
public LightningBolt(UUID ownerId) {
|
||||
super(ownerId, "Lightning Bolt", new CardType[]{CardType.INSTANT}, "{R}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.art = "121669_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
|
||||
|
|
|
@ -33,11 +33,9 @@ import java.util.List;
|
|||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.PhaseStep;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.common.OnEventTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
|
@ -50,6 +48,7 @@ import mage.game.events.GameEvent.EventType;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.game.permanent.token.WolfToken;
|
||||
import mage.players.Player;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
@ -62,6 +61,7 @@ public class MasterOfTheWildHunt extends CardImpl {
|
|||
|
||||
public MasterOfTheWildHunt(UUID ownerId) {
|
||||
super(ownerId, "Master of the Wild Hunt", new CardType[]{CardType.CREATURE}, "{2}{G}{G}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Shaman");
|
||||
this.color.setGreen(true);
|
||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class RootboundCrag extends CardImpl {
|
|||
|
||||
public RootboundCrag(UUID ownerId) {
|
||||
super(ownerId, "Rootbound Crag", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "121648_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new RootboundCragEffect()));
|
||||
this.addAbility(new RedManaAbility());
|
||||
|
|
53
Mage.Sets/src/mage/sets/magic2010/SafePassage.java
Normal file
53
Mage.Sets/src/mage/sets/magic2010/SafePassage.java
Normal file
|
@ -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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.abilities.effects.common.PreventAllDamageToEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreatureOrPlayer;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class SafePassage extends CardImpl {
|
||||
|
||||
public SafePassage(UUID ownerId) {
|
||||
super(ownerId, "Safe Passage", new CardType[]{CardType.INSTANT}, "{2}{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "121601_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addEffect(new PreventAllDamageToEffect(Duration.EndOfTurn, new FilterCreatureOrPlayer("you and creatures you control", ownerId)));
|
||||
}
|
||||
|
||||
}
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class SunpetalGrove extends CardImpl {
|
|||
|
||||
public SunpetalGrove(UUID ownerId) {
|
||||
super(ownerId, "Sunpetal Grove", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "121679_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new SunpetalGroveEffect()));
|
||||
this.addAbility(new GreenManaAbility());
|
||||
|
|
69
Mage.Sets/src/mage/sets/magic2010/TerramorphicExpanse.java
Normal file
69
Mage.Sets/src/mage/sets/magic2010/TerramorphicExpanse.java
Normal file
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterBasicLandCard;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class TerramorphicExpanse extends CardImpl {
|
||||
|
||||
public TerramorphicExpanse(UUID ownerId) {
|
||||
super(ownerId, "Terramorphic Expanse", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.art = "97502_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new TerramorphicExpanseAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class TerramorphicExpanseAbility extends ActivatedAbilityImpl {
|
||||
|
||||
public TerramorphicExpanseAbility() {
|
||||
super(Zone.BATTLEFIELD, null);
|
||||
addCost(new TapSourceCost());
|
||||
addCost(new SacrificeSourceCost());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(new FilterBasicLandCard());
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, Outcome.PutLandInPlay));
|
||||
}
|
||||
|
||||
}
|
74
Mage.Sets/src/mage/sets/magic2010/TimeWarp.java
Normal file
74
Mage.Sets/src/mage/sets/magic2010/TimeWarp.java
Normal file
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
* 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.magic2010;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.turn.TurnMod;
|
||||
import mage.sets.Magic2010;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class TimeWarp extends CardImpl {
|
||||
|
||||
public TimeWarp(UUID ownerId) {
|
||||
super(ownerId, "Time Warp", new CardType[]{CardType.SORCERY}, "{3}{U}{U}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.color.setBlue(true);
|
||||
this.art = "122160_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
this.getSpellAbility().addEffect(new TimeWarpEffect());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class TimeWarpEffect extends OneShotEffect {
|
||||
|
||||
public TimeWarpEffect() {
|
||||
super(Outcome.ExtraTurn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game) {
|
||||
game.getState().getTurnMods().add(new TurnMod(source.getFirstTarget()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return "Target player takes an extra turn after this one.";
|
||||
}
|
||||
}
|
|
@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility;
|
|||
import mage.abilities.keyword.ProtectionAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Magic2010;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -44,6 +45,7 @@ public class WhiteKnight extends CardImpl {
|
|||
|
||||
public WhiteKnight(UUID ownerId) {
|
||||
super(ownerId, "White Knight", new CardType[]{CardType.CREATURE}, "{W}{W}");
|
||||
this.expansionSetId = Magic2010.getInstance().getId();
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Knight");
|
||||
this.color.setWhite(true);
|
||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
|
|||
import mage.abilities.effects.common.ExileTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterNonlandPermanent;
|
||||
import mage.sets.Planechase;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class OblivionRing extends CardImpl {
|
|||
|
||||
public OblivionRing(UUID ownerId) {
|
||||
super(ownerId, "Oblivion Ring", new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
||||
this.expansionSetId = Planechase.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "115005_typ_reg_sty_010.jpg";
|
||||
FilterNonlandPermanent filter = new FilterNonlandPermanent();
|
||||
|
|
|
@ -30,12 +30,9 @@ package mage.sets.planechase;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
|
@ -43,6 +40,7 @@ import mage.game.events.GameEvent;
|
|||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.sets.Planechase;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -52,6 +50,7 @@ public class SoulWarden extends CardImpl {
|
|||
|
||||
public SoulWarden(UUID ownerId) {
|
||||
super(ownerId, "Soul Warden", new CardType[]{CardType.CREATURE}, "{W}");
|
||||
this.expansionSetId = Planechase.getInstance().getId();
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Cleric");
|
||||
this.color.setWhite(true);
|
||||
|
@ -70,7 +69,7 @@ class SoulWardenAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleEvent(GameEvent event, Game game) {
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.ZONE_CHANGE && ((ZoneChangeEvent)event).getToZone() == Zone.BATTLEFIELD) {
|
||||
Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
if (permanent.getCardType().contains(CardType.CREATURE) && !permanent.getId().equals(this.getSourceId()))
|
||||
|
@ -84,38 +83,3 @@ class SoulWardenAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
//class SoulWardenEffect extends ReplacementEffectImpl {
|
||||
//
|
||||
// public SoulWardenEffect() {
|
||||
// super(Duration.WhileInPlay);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean apply(Game game) {
|
||||
// game.getPlayer(source.getControllerId()).gainLife(1, game);
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean replaceEvent(GameEvent event, Game game) {
|
||||
// apply(game);
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean applies(GameEvent event, Game game) {
|
||||
// if (event.getType() == EventType.ZONE_CHANGE && ((ZoneChangeEvent)event).getToZone() == Zone.BATTLEFIELD) {
|
||||
// Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
// if (permanent.getCardType().contains(CardType.CREATURE))
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getText() {
|
||||
// return "Whenever another creature enters the battlefield, you gain 1 life";
|
||||
// }
|
||||
//
|
||||
//}
|
|
@ -35,11 +35,11 @@ import mage.abilities.LoyaltyAbility;
|
|||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.DestroyAllControlledTargetEffect;
|
||||
import mage.abilities.effects.common.DestroyAllEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.effects.common.SkipNextUntapTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.TargetPlayer;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
|
@ -52,6 +52,7 @@ public class AjaniVengeant extends CardImpl {
|
|||
|
||||
public AjaniVengeant(UUID ownerId) {
|
||||
super(ownerId, "Ajani Vengeant", new CardType[]{CardType.PLANESWALKER}, "{2}{R}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Ajani");
|
||||
this.color.setRed(true);
|
||||
this.color.setWhite(true);
|
||||
|
|
55
Mage.Sets/src/mage/sets/shardsofalara/Angelsong.java
Normal file
55
Mage.Sets/src/mage/sets/shardsofalara/Angelsong.java
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* 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.shardsofalara;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.PreventAllCombatDamageEffect;
|
||||
import mage.abilities.keyword.CyclingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Angelsong extends CardImpl {
|
||||
|
||||
public Angelsong(UUID ownerId) {
|
||||
super(ownerId, "Angelsong", new CardType[]{CardType.INSTANT}, "{1}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "115068_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addEffect(new PreventAllCombatDamageEffect(Duration.EndOfTurn));
|
||||
this.addAbility(new CyclingAbility(new ManaCosts("{2}")));
|
||||
}
|
||||
|
||||
}
|
|
@ -33,6 +33,7 @@ import mage.Constants.CardType;
|
|||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.DiscardTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
/**
|
||||
|
@ -43,6 +44,7 @@ public class Blightning extends CardImpl {
|
|||
|
||||
public Blightning(UUID ownerId) {
|
||||
super(ownerId, "Blightning", new CardType[]{CardType.SORCERY}, "{1}{B}{R}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setRed(true);
|
||||
this.art = "115010_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
|||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.DragonToken;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +48,7 @@ public class BroodmateDragon extends CardImpl {
|
|||
|
||||
public BroodmateDragon(UUID ownerId) {
|
||||
super(ownerId, "Broodmate Dragon", new CardType[]{CardType.CREATURE}, "{3}{B}{R}{G}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Dragon");
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.mana.BlackManaAbility;
|
|||
import mage.abilities.mana.BlueManaAbility;
|
||||
import mage.abilities.mana.RedManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,6 +46,7 @@ public class CrumblingNecropolis extends CardImpl {
|
|||
|
||||
public CrumblingNecropolis(UUID ownerId) {
|
||||
super(ownerId, "Crumbling Necropolis", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.art = "115145_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new RedManaAbility());
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* 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.shardsofalara;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.effects.common.BoostTargetEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.GainAbilityTargetEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.IndestructableAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.game.permanent.token.SoldierToken;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class ElspethKnightErrant extends CardImpl {
|
||||
|
||||
private static SoldierToken soldierToken = new SoldierToken();
|
||||
|
||||
public ElspethKnightErrant(UUID ownerId) {
|
||||
super(ownerId, "Elspeth, Knight-Errant", new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Elspeth");
|
||||
this.color.setWhite(true);
|
||||
this.art = "114973_typ_reg_sty_010.jpg";
|
||||
this.loyalty = new MageInt(4);
|
||||
|
||||
this.addAbility(new LoyaltyAbility(new CreateTokenEffect(soldierToken), 1));
|
||||
|
||||
Effects effects1 = new Effects(null);
|
||||
effects1.add(new BoostTargetEffect(3, 3, Duration.EndOfTurn));
|
||||
effects1.add(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
|
||||
LoyaltyAbility ability1 = new LoyaltyAbility(effects1, 1);
|
||||
ability1.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability1);
|
||||
|
||||
FilterPermanent filter = new FilterPermanent("artifacts, creatures, enchantments and lands");
|
||||
filter.getCardType().add(CardType.ARTIFACT);
|
||||
filter.getCardType().add(CardType.CREATURE);
|
||||
filter.getCardType().add(CardType.ENCHANTMENT);
|
||||
filter.getCardType().add(CardType.LAND);
|
||||
this.addAbility(new LoyaltyAbility(new GainAbilityControlledEffect(IndestructableAbility.getInstance(), Duration.EndOfGame, filter), -8));
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -40,6 +40,7 @@ import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
|||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -50,6 +51,7 @@ public class JundPanorama extends CardImpl {
|
|||
|
||||
public JundPanorama(UUID ownerId) {
|
||||
super(ownerId, "Jund Panorama", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.art = "116191_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
this.addAbility(new JundPanoramaAbility());
|
||||
|
|
|
@ -43,6 +43,7 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -53,6 +54,7 @@ public class KnightOfTheWhiteOrchid extends CardImpl {
|
|||
|
||||
public KnightOfTheWhiteOrchid(UUID ownerId) {
|
||||
super(ownerId, "Knight of the White Orchid", new CardType[]{CardType.CREATURE}, "{W}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Knight");
|
||||
this.color.setWhite(true);
|
||||
|
@ -77,29 +79,35 @@ class KnightOfTheWhiteOrchidAbility extends EntersBattlefieldTriggeredAbility {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleEvent(GameEvent event, Game game) {
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.ZONE_CHANGE && event.getTargetId().equals(this.getSourceId()) ) {
|
||||
ZoneChangeEvent zEvent = (ZoneChangeEvent)event;
|
||||
if (zEvent.getToZone() == Zone.BATTLEFIELD) {
|
||||
FilterLandPermanent filter = new FilterLandPermanent();
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(this.controllerId);
|
||||
int numLands = game.getBattlefield().count(filter);
|
||||
for (UUID opponentId: game.getOpponents(this.controllerId)) {
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(opponentId);
|
||||
if (numLands < game.getBattlefield().count(filter)) {
|
||||
trigger(game, this.controllerId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
trigger(game, this.controllerId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
FilterLandPermanent filter = new FilterLandPermanent();
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(this.controllerId);
|
||||
int numLands = game.getBattlefield().count(filter);
|
||||
for (UUID opponentId: game.getOpponents(this.controllerId)) {
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(opponentId);
|
||||
if (numLands < game.getBattlefield().count(filter)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When Knight of the White Orchid enters the battlefield, if an opponent controls more lands than you, you may " + super.getRule();
|
||||
return "When {this} enters the battlefield, if an opponent controls more lands than you, you may " + super.getRule();
|
||||
}
|
||||
|
||||
}
|
93
Mage.Sets/src/mage/sets/shardsofalara/RafiqOfTheMany.java
Normal file
93
Mage.Sets/src/mage/sets/shardsofalara/RafiqOfTheMany.java
Normal file
|
@ -0,0 +1,93 @@
|
|||
/*
|
||||
* 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.shardsofalara;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.common.GainAbilityTargetEffect;
|
||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||
import mage.abilities.keyword.ExaltedAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class RafiqOfTheMany extends CardImpl {
|
||||
|
||||
public RafiqOfTheMany(UUID ownerId) {
|
||||
super(ownerId, "Rafiq of the Many", new CardType[]{CardType.CREATURE}, "{1}{G}{W}{U}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setGreen(true);
|
||||
this.color.setWhite(true);
|
||||
this.color.setBlue(true);
|
||||
this.supertype.add("Legendary");
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Knight");
|
||||
this.art = "115029_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
this.addAbility(new ExaltedAbility());
|
||||
this.addAbility(new RafiqOfTheManyAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class RafiqOfTheManyAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public RafiqOfTheManyAbility() {
|
||||
super(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.DECLARED_ATTACKERS ) {
|
||||
if (game.getCombat().attacksAlone()) {
|
||||
this.targets.add(new TargetCreaturePermanent());
|
||||
this.targets.get(0).getTargets().add(game.getCombat().getAttackers().get(0));
|
||||
trigger(game, event.getPlayerId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a creature you control attacks alone, it gains double strike until end of turn.";
|
||||
}
|
||||
|
||||
}
|
|
@ -30,21 +30,13 @@ package mage.sets.shardsofalara;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.SearchLibraryRevealPutInHandEffect;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.Cards;
|
||||
import mage.cards.CardsImpl;
|
||||
import mage.filter.Filter.ComparisonType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetCard;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -63,6 +55,7 @@ public class RangerOfEos extends CardImpl {
|
|||
|
||||
public RangerOfEos(UUID ownerId) {
|
||||
super(ownerId, "Ranger Of Eos", new CardType[]{CardType.CREATURE}, "{3}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Soldier");
|
||||
|
@ -75,37 +68,3 @@ public class RangerOfEos extends CardImpl {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
//class RangerOfEosEffect extends OneShotEffect {
|
||||
//
|
||||
// private static FilterCard filter = new FilterCard();
|
||||
//
|
||||
// static {
|
||||
// filter.getCardType().add(CardType.CREATURE);
|
||||
// filter.setConvertedManaCost(2);
|
||||
// filter.setConvertedManaCostComparison(ComparisonType.LessThan);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean apply(Game game) {
|
||||
// Player player = game.getPlayer(this.getSource().getControllerId());
|
||||
// TargetCard target = new TargetCard(0, 2, Zone.LIBRARY, filter);
|
||||
// player.searchCards(new CardsImpl(Zone.LIBRARY, player.getLibrary().getCards()), target, game);
|
||||
// Cards cards = new CardsImpl(Zone.REVEALED);
|
||||
// for (UUID cardId: target.getTargets()) {
|
||||
// Card card = player.getLibrary().remove(cardId);
|
||||
// if (card != null) {
|
||||
// player.putInHand(card, game);
|
||||
// cards.add(card);
|
||||
// }
|
||||
// }
|
||||
// if (cards.size() > 0)
|
||||
// player.revealCards(cards, game);
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getText() {
|
||||
// return "you may search your library for up to two creature cards with converted mana cost 1 or less, reveal them, and put them into your hand. If you do, shuffle your library.";
|
||||
// }
|
||||
//}
|
59
Mage.Sets/src/mage/sets/shardsofalara/RhoxWarMonk.java
Normal file
59
Mage.Sets/src/mage/sets/shardsofalara/RhoxWarMonk.java
Normal file
|
@ -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.shardsofalara;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class RhoxWarMonk extends CardImpl {
|
||||
|
||||
public RhoxWarMonk(UUID ownerId) {
|
||||
super(ownerId, "Rhox War Monk", new CardType[]{CardType.CREATURE}, "{G}{W}{U}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Rhino");
|
||||
this.subtype.add("Monk");
|
||||
this.color.setWhite(true);
|
||||
this.color.setBlue(true);
|
||||
this.color.setGreen(true);
|
||||
this.art = "115055_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
}
|
||||
|
||||
}
|
|
@ -36,13 +36,15 @@ import mage.abilities.LoyaltyAbility;
|
|||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.effects.common.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEOTEffect;
|
||||
import mage.abilities.effects.common.GainAbilityTargetEOTEffect;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEffect;
|
||||
import mage.abilities.effects.common.GainAbilityTargetEffect;
|
||||
import mage.abilities.effects.common.GainControlTargetEOTEffect;
|
||||
import mage.abilities.effects.common.UntapTargetEffect;
|
||||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.permanent.token.DragonToken;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
|
@ -55,6 +57,7 @@ public class SarkhanVol extends CardImpl {
|
|||
|
||||
public SarkhanVol(UUID ownerId) {
|
||||
super(ownerId, "Sarkhan Vol", new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.subtype.add("Sarkhan");
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
|
@ -63,13 +66,13 @@ public class SarkhanVol extends CardImpl {
|
|||
|
||||
Effects effects1 = new Effects(null);
|
||||
effects1.add(new BoostControlledEffect(1, 1, Duration.EndOfTurn));
|
||||
effects1.add(new GainAbilityControlledEOTEffect(HasteAbility.getInstance()));
|
||||
effects1.add(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()));
|
||||
this.addAbility(new LoyaltyAbility(effects1, 1));
|
||||
|
||||
Effects effects2 = new Effects(null);
|
||||
effects2.add(new GainControlTargetEOTEffect());
|
||||
effects2.add(new UntapTargetEffect());
|
||||
effects2.add(new GainAbilityTargetEOTEffect(HasteAbility.getInstance()));
|
||||
effects2.add(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
|
||||
|
||||
LoyaltyAbility ability = new LoyaltyAbility(effects2, -2);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.mana.BlackManaAbility;
|
|||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.abilities.mana.RedManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,6 +46,7 @@ public class SavageLands extends CardImpl {
|
|||
|
||||
public SavageLands(UUID ownerId) {
|
||||
super(ownerId, "Savage Lands", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.art = "114986_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new RedManaAbility());
|
||||
|
|
|
@ -35,6 +35,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility;
|
|||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.SaprolingToken;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -46,6 +47,7 @@ public class SproutingThrinax extends CardImpl {
|
|||
|
||||
public SproutingThrinax(UUID ownerId) {
|
||||
super(ownerId, "Sprouting Thrinax", new CardType[]{CardType.CREATURE}, "{B}{R}{G}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setBlack(true);
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.common.SimpleStaticAbility;
|
|||
import mage.abilities.effects.common.BoostSourceWhileControlsEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -48,6 +49,7 @@ public class WildNacatl extends CardImpl {
|
|||
|
||||
public WildNacatl(UUID ownerId) {
|
||||
super(ownerId, "Wild Nacatl", new CardType[]{CardType.CREATURE}, "{G}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Cat");
|
||||
this.subtype.add("Warrior");
|
||||
|
|
|
@ -32,6 +32,7 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.ShardsOfAlara;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -41,6 +42,7 @@ public class WoollyThoctar extends CardImpl {
|
|||
|
||||
public WoollyThoctar(UUID ownerId) {
|
||||
super(ownerId, "Woolly Thoctar", new CardType[]{CardType.CREATURE}, "{R}{G}{W}");
|
||||
this.expansionSetId = ShardsOfAlara.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.color.setGreen(true);
|
||||
this.color.setWhite(true);
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.sets.tenth;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.cards.basiclands.Forest;
|
||||
import mage.sets.Tenth;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -39,6 +40,7 @@ public class Forest1 extends Forest {
|
|||
|
||||
public Forest1(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetId = Tenth.getInstance().getId();
|
||||
this.art = "89160_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.sets.tenth;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.cards.basiclands.Island;
|
||||
import mage.sets.Tenth;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -39,6 +40,7 @@ public class Island1 extends Island {
|
|||
|
||||
public Island1(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetId = Tenth.getInstance().getId();
|
||||
this.art = "80957_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.sets.tenth;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.cards.basiclands.Mountain;
|
||||
import mage.sets.Tenth;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -39,6 +40,7 @@ public class Mountain1 extends Mountain {
|
|||
|
||||
public Mountain1(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetId = Tenth.getInstance().getId();
|
||||
this.art = "89159_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.sets.tenth;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.cards.basiclands.Plains;
|
||||
import mage.sets.Tenth;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -39,6 +40,7 @@ public class Plains1 extends Plains {
|
|||
|
||||
public Plains1(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetId = Tenth.getInstance().getId();
|
||||
this.art = "80949_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ package mage.sets.tenth;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.cards.basiclands.Swamp;
|
||||
import mage.sets.Tenth;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -39,6 +40,7 @@ public class Swamp1 extends Swamp {
|
|||
|
||||
public Swamp1(UUID ownerId) {
|
||||
super(ownerId);
|
||||
this.expansionSetId = Tenth.getInstance().getId();
|
||||
this.art = "89177_typ_reg_sty_010.jpg";
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.keyword.DeathtouchAbility;
|
|||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Worldwake;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -48,6 +49,7 @@ public class BasiliskCollar extends CardImpl {
|
|||
|
||||
public BasiliskCollar(UUID ownerId) {
|
||||
super(ownerId, "Basilisk Collar", new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "126549_typ_reg_sty_010.jpg";
|
||||
this.subtype.add("Equipment");
|
||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2)));
|
||||
|
|
80
Mage.Sets/src/mage/sets/worldwake/CelestialColonnade.java
Normal file
80
Mage.Sets/src/mage/sets/worldwake/CelestialColonnade.java
Normal file
|
@ -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.worldwake;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.BecomesCreatureSourceEOTEffect;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.abilities.mana.BlueManaAbility;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Worldwake;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class CelestialColonnade extends CardImpl {
|
||||
|
||||
public CelestialColonnade(UUID ownerId) {
|
||||
super(ownerId, "Celestial Colonnade", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "126518_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new BlueManaAbility());
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEOTEffect(new CelestialColonnadeToken()), new ManaCosts("{3}{W}{U}")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class CelestialColonnadeToken extends Token {
|
||||
|
||||
public CelestialColonnadeToken() {
|
||||
super("", "4/4 white and blue Elemental creature with flying and vigilance");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add("Elemental");
|
||||
color.setBlue(true);
|
||||
color.setWhite(true);
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
addAbility(VigilanceAbility.getInstance());
|
||||
}
|
||||
|
||||
}
|
|
@ -32,16 +32,18 @@ import java.util.UUID;
|
|||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.AddPlusOneCountersSourceEffect;
|
||||
import mage.abilities.effects.common.BecomesCreatureSourceEOTEffect;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.abilities.mana.RedManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Worldwake;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -51,7 +53,9 @@ public class RagingRavine extends CardImpl {
|
|||
|
||||
public RagingRavine(UUID ownerId) {
|
||||
super(ownerId, "Raging Ravine", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "126537_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new GreenManaAbility());
|
||||
this.addAbility(new RedManaAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEOTEffect(new RagingRavineToken()), new ManaCosts("{2}{R}{G}")));
|
||||
|
@ -65,6 +69,8 @@ class RagingRavineToken extends Token {
|
|||
super("", "3/3 red and green Elemental creature with \"Whenever this creature attacks, put a +1/+1 counter on it.\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add("Elemental");
|
||||
color.setRed(true);
|
||||
color.setGreen(true);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
addAbility(new AttacksTriggeredAbility(new AddPlusOneCountersSourceEffect(1), false));
|
||||
|
|
62
Mage.Sets/src/mage/sets/worldwake/SejiriSteppe.java
Normal file
62
Mage.Sets/src/mage/sets/worldwake/SejiriSteppe.java
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* 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.worldwake;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.TargetController;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.effects.common.GainProtectionFromColorTargetEOTEffect;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.choices.ChoiceColor;
|
||||
import mage.sets.Worldwake;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class SejiriSteppe extends CardImpl {
|
||||
|
||||
public SejiriSteppe(UUID ownerId) {
|
||||
super(ownerId, "Sejiri Steppe", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "123657_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainProtectionFromColorTargetEOTEffect(), false);
|
||||
ability.addTarget(new TargetCreaturePermanent(1, TargetController.YOU));
|
||||
ability.addChoice(new ChoiceColor());
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
}
|
||||
|
||||
}
|
78
Mage.Sets/src/mage/sets/worldwake/StirringWildwood.java
Normal file
78
Mage.Sets/src/mage/sets/worldwake/StirringWildwood.java
Normal file
|
@ -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.worldwake;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.BecomesCreatureSourceEOTEffect;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.keyword.ReachAbility;
|
||||
import mage.abilities.mana.GreenManaAbility;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Worldwake;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class StirringWildwood extends CardImpl {
|
||||
|
||||
public StirringWildwood(UUID ownerId) {
|
||||
super(ownerId, "Stirring Wildwood", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "126541_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new GreenManaAbility());
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEOTEffect(new StirringWildwoodToken()), new ManaCosts("{1}{G}{W}")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class StirringWildwoodToken extends Token {
|
||||
|
||||
public StirringWildwoodToken() {
|
||||
super("", "3/4 green and white Elemental creature with reach");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add("Elemental");
|
||||
color.setGreen(true);
|
||||
color.setWhite(true);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(4);
|
||||
addAbility(ReachAbility.getInstance());
|
||||
}
|
||||
|
||||
}
|
79
Mage.Sets/src/mage/sets/worldwake/StoneforgeMystic.java
Normal file
79
Mage.Sets/src/mage/sets/worldwake/StoneforgeMystic.java
Normal file
|
@ -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.worldwake;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
import mage.abilities.effects.common.PlayTargetWithoutPayingManaEffect;
|
||||
import mage.abilities.effects.common.SearchLibraryRevealPutInHandEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Worldwake;
|
||||
import mage.target.common.TargetCardInHand;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class StoneforgeMystic extends CardImpl {
|
||||
|
||||
private static FilterCard filter = new FilterCard("an Equipment card");
|
||||
|
||||
static {
|
||||
filter.getCardType().add(CardType.ARTIFACT);
|
||||
filter.getSubtype().add("Equipment");
|
||||
}
|
||||
|
||||
public StoneforgeMystic(UUID ownerId) {
|
||||
super(ownerId, "Stoneforge Mystic", new CardType[]{CardType.CREATURE}, "{1}{W}");
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.subtype.add("Kor");
|
||||
this.subtype.add("Artificer");
|
||||
this.art = "126571_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(1, 1, filter);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryRevealPutInHandEffect(target), true));
|
||||
|
||||
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlayTargetWithoutPayingManaEffect(), new ManaCosts("{1}{W}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCardInHand(0, 1, filter));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
}
|
99
Mage.Sets/src/mage/sets/worldwake/TectonicEdge.java
Normal file
99
Mage.Sets/src/mage/sets/worldwake/TectonicEdge.java
Normal file
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
* 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.worldwake;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.CostImpl;
|
||||
import mage.abilities.costs.Costs;
|
||||
import mage.abilities.costs.CostsImpl;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.abilities.mana.ColorlessManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterLandPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.sets.Worldwake;
|
||||
import mage.target.common.TargetNonBasicLandPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class TectonicEdge extends CardImpl {
|
||||
|
||||
public TectonicEdge(UUID ownerId) {
|
||||
super(ownerId, "Tectonic Edge", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Worldwake.getInstance().getId();
|
||||
this.art = "126492_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
Costs costs = new CostsImpl();
|
||||
costs.add(new TapSourceCost());
|
||||
costs.add(new SacrificeSourceCost());
|
||||
costs.add(new TectonicEdgeCost());
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), costs);
|
||||
ability.addTarget(new TargetNonBasicLandPermanent());
|
||||
ability.addManaCost(new GenericManaCost(1));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class TectonicEdgeCost extends CostImpl {
|
||||
|
||||
FilterLandPermanent filter = new FilterLandPermanent();
|
||||
|
||||
public TectonicEdgeCost() {
|
||||
this.text = "Activate this ability only if an opponent controls four or more lands";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPay(UUID playerId, Game game) {
|
||||
for (UUID opponentId: game.getOpponents(playerId)) {
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(opponentId);
|
||||
if (game.getBattlefield().count(filter) > 3) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean pay(Game game, boolean noMana) {
|
||||
this.paid = true;
|
||||
return paid;
|
||||
}
|
||||
|
||||
}
|
98
Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java
Normal file
98
Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java
Normal file
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.sets.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.costs.AlternativeCost;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetOpponent;
|
||||
import mage.watchers.Watcher;
|
||||
import mage.watchers.WatcherImpl;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class ArchiveTrap extends CardImpl {
|
||||
|
||||
public ArchiveTrap(UUID ownerId) {
|
||||
super(ownerId, "Archive Trap", new CardType[]{CardType.INSTANT}, "{3}{U}{U}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setBlue(true);
|
||||
this.art = "125080_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(13));
|
||||
this.getSpellAbility().addAlternativeCost(new ArchiveTrapAlternativeCost());
|
||||
this.watchers.add(new ArchiveTrapWatcher(ownerId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class ArchiveTrapWatcher extends WatcherImpl {
|
||||
|
||||
public ArchiveTrapWatcher(UUID controllerId) {
|
||||
super(controllerId, "LibrarySearched");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void watch(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.LIBRARY_SEARCHED && game.getOpponents(controllerId).contains(event.getPlayerId()))
|
||||
condition = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class ArchiveTrapAlternativeCost extends AlternativeCost {
|
||||
|
||||
public ArchiveTrapAlternativeCost() {
|
||||
super("you may pay {0} rather than pay Archive Trap's mana cost");
|
||||
this.add(new GenericManaCost(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(Game game) {
|
||||
Watcher watcher = game.getState().getWatchers().get("LibrarySearched");
|
||||
if (watcher != null && watcher.conditionMet())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return "If an opponent searched his or her library this turn, you may pay {0} rather than pay Archive Trap's mana cost";
|
||||
}
|
||||
|
||||
}
|
|
@ -39,6 +39,7 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class AridMesa extends CardImpl {
|
|||
|
||||
public AridMesa(UUID ownerId) {
|
||||
super(ownerId, "Arid Mesa", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123565_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new AridMesaAbility());
|
||||
}
|
||||
|
|
|
@ -30,7 +30,8 @@ package mage.sets.zendikar;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEOTEffect;
|
||||
import mage.Constants.Duration;
|
||||
import mage.abilities.effects.common.GainAbilityControlledEffect;
|
||||
import mage.abilities.keyword.ProtectionAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.choices.ChoiceColor;
|
||||
|
@ -38,6 +39,7 @@ import mage.filter.FilterCard;
|
|||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -47,6 +49,7 @@ public class BraveTheElements extends CardImpl {
|
|||
|
||||
public BraveTheElements(UUID ownerId) {
|
||||
super(ownerId, "Brave the Elements", new CardType[]{CardType.INSTANT}, "{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "123638_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addChoice(new ChoiceColor());
|
||||
|
@ -55,13 +58,13 @@ public class BraveTheElements extends CardImpl {
|
|||
|
||||
}
|
||||
|
||||
class BraveTheElementsEffect extends GainAbilityControlledEOTEffect {
|
||||
class BraveTheElementsEffect extends GainAbilityControlledEffect {
|
||||
|
||||
FilterCreaturePermanent filter1 = new FilterCreaturePermanent();
|
||||
FilterCard filter2 = new FilterCard();
|
||||
FilterCard filter2;
|
||||
|
||||
public BraveTheElementsEffect() {
|
||||
super(new ProtectionAbility(new FilterCard()));
|
||||
super(new ProtectionAbility(new FilterCard()), Duration.EndOfTurn);
|
||||
filter1.setUseColor(true);
|
||||
filter1.getColor().setWhite(true);
|
||||
filter2 = (FilterCard)((ProtectionAbility)ability).getFilter();
|
||||
|
@ -76,7 +79,7 @@ class BraveTheElementsEffect extends GainAbilityControlledEOTEffect {
|
|||
filter1.getControllerId().clear();
|
||||
filter1.getControllerId().add(source.getControllerId());
|
||||
for (Permanent perm: game.getBattlefield().getActivePermanents(filter1)) {
|
||||
perm.getAbilities().add(ability);
|
||||
perm.addAbility(ability);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ import mage.abilities.costs.mana.GenericManaCost;
|
|||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.keyword.KickerAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCreatureOrPlayer;
|
||||
|
||||
/**
|
||||
|
@ -44,13 +45,14 @@ public class BurstLightning extends CardImpl {
|
|||
|
||||
public BurstLightning(UUID ownerId) {
|
||||
super(ownerId, "Burst Lightning", new CardType[]{CardType.INSTANT}, "{R}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.art = "123560_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||
KickerAbility ability = new KickerAbility(new DamageTargetEffect(4), true);
|
||||
ability.getTargets().add(this.getSpellAbility().getTargets().get(0));
|
||||
ability.getCosts().add(new GenericManaCost(4));
|
||||
ability.addTarget(this.getSpellAbility().getTargets().get(0));
|
||||
ability.addManaCost(new GenericManaCost(4));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
|||
import mage.abilities.keyword.KickerAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,11 +46,12 @@ public class ConquerorsPledge extends CardImpl {
|
|||
|
||||
public ConquerorsPledge(UUID ownerId) {
|
||||
super(ownerId, "Conquerors Pledge", new CardType[]{CardType.SORCERY}, "{2}{W}{W}{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "123781_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new KorSoldierToken(), 6));
|
||||
KickerAbility ability = new KickerAbility(new CreateTokenEffect(new KorSoldierToken(), 12), true);
|
||||
ability.getCosts().add(new GenericManaCost(6));
|
||||
ability.addManaCost(new GenericManaCost(6));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
52
Mage.Sets/src/mage/sets/zendikar/DayOfJudgment.java
Normal file
52
Mage.Sets/src/mage/sets/zendikar/DayOfJudgment.java
Normal file
|
@ -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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.effects.common.DestroyAllEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class DayOfJudgment extends CardImpl {
|
||||
|
||||
public DayOfJudgment(UUID ownerId) {
|
||||
super(ownerId, "Day of Judgment", new CardType[]{CardType.SORCERY}, "{2}{W}{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "123645_typ_reg_sty_010.jpg";
|
||||
this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent("creatures")));
|
||||
}
|
||||
|
||||
}
|
|
@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
|||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -45,6 +46,7 @@ public class EmeriaAngel extends CardImpl {
|
|||
|
||||
public EmeriaAngel(UUID ownerId) {
|
||||
super(ownerId, "Emeria Angel", new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.subtype.add("Angel");
|
||||
this.color.setWhite(true);
|
||||
this.art = "123678_typ_reg_sty_010.jpg";
|
||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.effects.common.DestroyTargetEffect;
|
|||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.abilities.keyword.KickerAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetNonBasicLandPermanent;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class GoblinRuinblaster extends CardImpl {
|
|||
|
||||
public GoblinRuinblaster(UUID ownerId) {
|
||||
super(ownerId, "Goblin Ruinblaster", new CardType[]{CardType.CREATURE}, "{2}{R}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setRed(true);
|
||||
this.subtype.add("Goblin");
|
||||
this.subtype.add("Shaman");
|
||||
|
@ -58,7 +60,7 @@ public class GoblinRuinblaster extends CardImpl {
|
|||
this.addAbility(HasteAbility.getInstance());
|
||||
KickerAbility ability = new KickerAbility(new EntersBattlefieldEffect(new DestroyTargetEffect()), false);
|
||||
ability.getTargets().add(new TargetNonBasicLandPermanent());
|
||||
ability.getCosts().add(new ColoredManaCost(ColoredManaSymbol.R));
|
||||
ability.addManaCost(new ColoredManaCost(ColoredManaSymbol.R));
|
||||
this.addAbility(ability);
|
||||
|
||||
}
|
||||
|
|
55
Mage.Sets/src/mage/sets/zendikar/KabiraCrossroads.java
Normal file
55
Mage.Sets/src/mage/sets/zendikar/KabiraCrossroads.java
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* 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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.abilities.mana.WhiteManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class KabiraCrossroads extends CardImpl {
|
||||
|
||||
public KabiraCrossroads(UUID ownerId) {
|
||||
super(ownerId, "Kabira Crossroads", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "126610_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(2), false));
|
||||
this.addAbility(new WhiteManaAbility());
|
||||
}
|
||||
}
|
60
Mage.Sets/src/mage/sets/zendikar/LotusCobra.java
Normal file
60
Mage.Sets/src/mage/sets/zendikar/LotusCobra.java
Normal file
|
@ -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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.effects.common.AddManaOfAnyColorEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.choices.ChoiceColor;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class LotusCobra extends CardImpl {
|
||||
|
||||
public LotusCobra(UUID ownerId) {
|
||||
super(ownerId, "Lotus Cobra", new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.subtype.add("Snake");
|
||||
this.color.setGreen(true);
|
||||
this.art = "123641_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
LandfallAbility ability = new LandfallAbility(new AddManaOfAnyColorEffect(1), false);
|
||||
ability.addChoice(new ChoiceColor());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
}
|
|
@ -39,6 +39,7 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class MarshFlats extends CardImpl {
|
|||
|
||||
public MarshFlats(UUID ownerId) {
|
||||
super(ownerId, "Marsh Flats", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123707_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new MarshFlatsAbility());
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class MistyRainforest extends CardImpl {
|
|||
|
||||
public MistyRainforest(UUID ownerId) {
|
||||
super(ownerId, "Misty Rainforest", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123689_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new MistyRainforestAbility());
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ import mage.counters.PlusOneCounter;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -52,6 +53,7 @@ public class OranRiefTheVastwood extends CardImpl {
|
|||
|
||||
public OranRiefTheVastwood(UUID ownerId) {
|
||||
super(ownerId, "Oran-Rief, the Vastwood", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123692_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
this.addAbility(new GreenManaAbility());
|
||||
|
@ -66,6 +68,7 @@ class OranRiefTheVastwoodEffect extends OneShotEffect {
|
|||
super(Outcome.BoostCreature);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game) {
|
||||
FilterPermanent filter = new FilterPermanent();
|
||||
filter.getCardType().add(CardType.CREATURE);
|
||||
|
|
70
Mage.Sets/src/mage/sets/zendikar/RampagingBaloths.java
Normal file
70
Mage.Sets/src/mage/sets/zendikar/RampagingBaloths.java
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* 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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class RampagingBaloths extends CardImpl {
|
||||
|
||||
public RampagingBaloths(UUID ownerId) {
|
||||
super(ownerId, "Rampaging Baloths", new CardType[]{CardType.CREATURE}, "{4}{G}{G}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.subtype.add("Beast");
|
||||
this.color.setGreen(true);
|
||||
this.art = "123726_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(6);
|
||||
this.toughness = new MageInt(6);
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
this.addAbility(new LandfallAbility(new CreateTokenEffect(new RampagingBalothsToken()), true));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class RampagingBalothsToken extends Token {
|
||||
|
||||
public RampagingBalothsToken() {
|
||||
super("Beast", "4/4 green Beast creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add("Beast");
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
}
|
||||
}
|
74
Mage.Sets/src/mage/sets/zendikar/ScaldingTarn.java
Normal file
74
Mage.Sets/src/mage/sets/zendikar/ScaldingTarn.java
Normal file
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
* 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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.costs.common.TapSourceCost;
|
||||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class ScaldingTarn extends CardImpl {
|
||||
|
||||
public ScaldingTarn(UUID ownerId) {
|
||||
super(ownerId, "Scalding Tarn", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123672_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new ScaldingTarnAbility());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class ScaldingTarnAbility extends ActivatedAbilityImpl {
|
||||
|
||||
public ScaldingTarnAbility() {
|
||||
super(Zone.BATTLEFIELD, null);
|
||||
addCost(new TapSourceCost());
|
||||
addCost(new PayLifeCost(1));
|
||||
addCost(new SacrificeSourceCost());
|
||||
FilterCard filter = new FilterCard("Island or Mountain");
|
||||
filter.getName().add("Island");
|
||||
filter.getName().add("Mountain");
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay));
|
||||
}
|
||||
|
||||
}
|
|
@ -39,7 +39,7 @@ import mage.filter.common.FilterLandPermanent;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -49,6 +49,7 @@ public class ScuteMob extends CardImpl {
|
|||
|
||||
public ScuteMob(UUID ownerId) {
|
||||
super(ownerId, "Scute Mob", new CardType[]{CardType.CREATURE}, "{G}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setGreen(true);
|
||||
this.subtype.add("Insect");
|
||||
this.art = "123606_typ_reg_sty_010.jpg";
|
||||
|
@ -68,18 +69,19 @@ class ScuteMobAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleEvent(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.UPKEEP_STEP_PRE) {
|
||||
Permanent permanent = game.getPermanent(this.sourceId);
|
||||
if (game.getActivePlayerId().equals(permanent.getControllerId())) {
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(permanent.getControllerId());
|
||||
if (game.getBattlefield().count(filter) >= 5)
|
||||
trigger(game, permanent.getControllerId());
|
||||
}
|
||||
public void checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == EventType.UPKEEP_STEP_PRE && event.getPlayerId().equals(this.controllerId)) {
|
||||
trigger(game, this.controllerId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkIfClause(Game game) {
|
||||
filter.getControllerId().clear();
|
||||
filter.getControllerId().add(this.controllerId);
|
||||
return game.getBattlefield().count(filter) >= 5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your upkeep, if you control five or more lands, put four +1/+1 counters on Scute Mob.";
|
||||
|
|
|
@ -30,10 +30,12 @@ package mage.sets.zendikar;
|
|||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.effects.common.BoostSourceEOTEffect;
|
||||
import mage.abilities.effects.common.BoostSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -43,13 +45,14 @@ public class SteppeLynx extends CardImpl {
|
|||
|
||||
public SteppeLynx(UUID ownerId) {
|
||||
super(ownerId, "Steppe Lynx", new CardType[]{CardType.CREATURE}, "{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.subtype.add("Cat");
|
||||
this.color.setWhite(true);
|
||||
this.art = "123546_typ_reg_sty_010.jpg";
|
||||
this.power = new MageInt(0);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
this.addAbility(new LandfallAbility(new BoostSourceEOTEffect(2, 2), false));
|
||||
this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), false));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
64
Mage.Sets/src/mage/sets/zendikar/SunspringExpedition.java
Normal file
64
Mage.Sets/src/mage/sets/zendikar/SunspringExpedition.java
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* 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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Zone;
|
||||
import mage.abilities.ActivatedAbility;
|
||||
import mage.abilities.ActivatedAbilityImpl;
|
||||
import mage.abilities.common.LandfallAbility;
|
||||
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
import mage.abilities.effects.common.AddCountersSourceEffect;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class SunspringExpedition extends CardImpl {
|
||||
|
||||
public SunspringExpedition(UUID ownerId) {
|
||||
super(ownerId, "Sunspring Expedition", new CardType[]{CardType.ENCHANTMENT}, "{W}");
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.color.setWhite(true);
|
||||
this.art = "123558_typ_reg_sty_010.jpg";
|
||||
|
||||
this.addAbility(new LandfallAbility(new AddCountersSourceEffect("quest", 1), true));
|
||||
ActivatedAbility ability = new ActivatedAbilityImpl(Zone.BATTLEFIELD, new GainLifeEffect(8)) {};
|
||||
ability.addCost(new RemoveCountersSourceCost("quest", 3));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
||||
}
|
61
Mage.Sets/src/mage/sets/zendikar/TeeteringPeaks.java
Normal file
61
Mage.Sets/src/mage/sets/zendikar/TeeteringPeaks.java
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* 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.zendikar;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldStaticAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.common.BoostTargetEffect;
|
||||
import mage.abilities.effects.common.EntersBattlefieldTappedEffect;
|
||||
import mage.abilities.mana.RedManaAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class TeeteringPeaks extends CardImpl {
|
||||
|
||||
public TeeteringPeaks(UUID ownerId) {
|
||||
super(ownerId, "Teetering Peaks", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123557_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new EntersBattlefieldStaticAbility(new EntersBattlefieldTappedEffect()));
|
||||
Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), false);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
this.addAbility(new RedManaAbility());
|
||||
}
|
||||
|
||||
}
|
|
@ -39,6 +39,7 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.effects.common.SearchLibraryPutInPlayEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.sets.Zendikar;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
|
@ -49,6 +50,7 @@ public class VerdantCatacombs extends CardImpl {
|
|||
|
||||
public VerdantCatacombs(UUID ownerId) {
|
||||
super(ownerId, "Verdant Catacombs", new CardType[]{CardType.LAND}, null);
|
||||
this.expansionSetId = Zendikar.getInstance().getId();
|
||||
this.art = "123743_typ_reg_sty_010.jpg";
|
||||
this.addAbility(new VerdantCatacombsAbility());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue