mirror of
https://github.com/correl/mage.git
synced 2025-01-13 03:00:10 +00:00
Merge pull request #3284 from spjspj/master
Large Refactor - Move all tokens into Mage/src/main/java/mage/game/pe…
This commit is contained in:
commit
01171abad2
484 changed files with 13394 additions and 4637 deletions
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
|
import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
|
||||||
|
@ -36,7 +37,6 @@ import mage.abilities.effects.common.CastSourceTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.effects.common.UntapAllControllerEffect;
|
import mage.abilities.effects.common.UntapAllControllerEffect;
|
||||||
import mage.abilities.keyword.SpaceflightAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -47,9 +47,7 @@ import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.RebelStarshipToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -91,20 +89,6 @@ public class AdmiralAckbar extends CardImpl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RebelStarshipToken extends Token {
|
|
||||||
|
|
||||||
public RebelStarshipToken() {
|
|
||||||
super("B-Wing", "2/3 blue Rebel Starship artifact creature tokens with spaceflight name B-Wing", 2, 3);
|
|
||||||
this.setOriginalExpansionSetCode("SWS");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
abilities.add(SpaceflightAbility.getInstance());
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Rebel");
|
|
||||||
subtype.add("Starship");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class AdmiralAckbarTriggeredAbility extends TriggeredAbilityImpl {
|
class AdmiralAckbarTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
|
|
||||||
public AdmiralAckbarTriggeredAbility(Effect effect) {
|
public AdmiralAckbarTriggeredAbility(Effect effect) {
|
||||||
|
|
|
@ -27,18 +27,16 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.abilities.keyword.InspiredAbility;
|
import mage.abilities.keyword.InspiredAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.AerieWorshippersBirdToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -67,19 +65,3 @@ public class AerieWorshippers extends CardImpl {
|
||||||
return new AerieWorshippers(this);
|
return new AerieWorshippers(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AerieWorshippersBirdToken extends Token {
|
|
||||||
|
|
||||||
public AerieWorshippersBirdToken() {
|
|
||||||
super("Bird", "2/2 blue Bird enchantment creature token with flying");
|
|
||||||
cardType.add(CardType.ENCHANTMENT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Bird");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
this.setOriginalExpansionSetCode("BNG");
|
|
||||||
this.setTokenType(2);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.LandfallAbility;
|
import mage.abilities.common.LandfallAbility;
|
||||||
|
@ -34,16 +35,12 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.AkoumStonewakerElementalToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -101,19 +98,3 @@ class AkoumStonewakerEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AkoumStonewakerElementalToken extends Token {
|
|
||||||
|
|
||||||
public AkoumStonewakerElementalToken() {
|
|
||||||
super("Elemental", "3/1 red Elemental creature token with trample and haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
|
||||||
this.addAbility(HasteAbility.getInstance());
|
|
||||||
this.setOriginalExpansionSetCode("BFZ");
|
|
||||||
this.setTokenType(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,16 +27,14 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.abilities.keyword.HeroicAbility;
|
import mage.abilities.keyword.HeroicAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.AkroanSoldierToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -53,7 +51,7 @@ public class AkroanCrusader extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// <i>Heroic</i> Whenever you cast a spell that targets Akroan Crusader, create a 1/1 red Soldier creature token with haste.
|
// <i>Heroic</i> Whenever you cast a spell that targets Akroan Crusader, create a 1/1 red Soldier creature token with haste.
|
||||||
this.addAbility(new HeroicAbility(new CreateTokenEffect(new SoldierToken())));
|
this.addAbility(new HeroicAbility(new CreateTokenEffect(new AkroanSoldierToken())));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AkroanCrusader(final AkroanCrusader card) {
|
public AkroanCrusader(final AkroanCrusader card) {
|
||||||
|
@ -65,19 +63,3 @@ public class AkroanCrusader extends CardImpl {
|
||||||
return new AkroanCrusader(this);
|
return new AkroanCrusader(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class SoldierToken extends Token {
|
|
||||||
|
|
||||||
public SoldierToken() {
|
|
||||||
super("Soldier", "1/1 red Soldier creature token with haste");
|
|
||||||
setTokenType(3);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Soldier");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,14 +27,12 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.KnightAllyToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -58,17 +56,3 @@ public class AlliedReinforcements extends CardImpl {
|
||||||
return new AlliedReinforcements(this);
|
return new AlliedReinforcements(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KnightAllyToken extends Token {
|
|
||||||
|
|
||||||
public KnightAllyToken() {
|
|
||||||
super("Knight Ally", "2/2 white Knight Ally creature token");
|
|
||||||
this.setExpansionSetCodeForImage("BFZ");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Knight");
|
|
||||||
subtype.add("Ally");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -38,9 +39,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ArchitectOfTheUntamedBeastToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -72,15 +71,3 @@ public class ArchitectOfTheUntamed extends CardImpl {
|
||||||
return new ArchitectOfTheUntamed(this);
|
return new ArchitectOfTheUntamed(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ArchitectOfTheUntamedBeastToken extends Token {
|
|
||||||
|
|
||||||
ArchitectOfTheUntamedBeastToken() {
|
|
||||||
super("Beast", "6/6 colorless Beast artifact creature token");
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Beast");
|
|
||||||
power = new MageInt(6);
|
|
||||||
toughness = new MageInt(6);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.DelayedTriggeredAbility;
|
import mage.abilities.DelayedTriggeredAbility;
|
||||||
|
@ -37,7 +38,6 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.SacrificeTargetEffect;
|
import mage.abilities.effects.common.SacrificeTargetEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -46,12 +46,10 @@ import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.BalduvianToken;
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
@ -114,17 +112,3 @@ class BalduvianDeadEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BalduvianToken extends Token {
|
|
||||||
|
|
||||||
public BalduvianToken() {
|
|
||||||
super("Graveborn", "3/1 black and red Graveborn creature token with haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
color.setRed(true);
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
subtype.add("Graveborn");
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility;
|
import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility;
|
||||||
|
@ -38,11 +39,9 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.TuskenRaiderToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Styxo
|
* @author Styxo
|
||||||
|
@ -98,15 +97,3 @@ class BathaHerdEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class TuskenRaiderToken extends Token {
|
|
||||||
|
|
||||||
public TuskenRaiderToken() {
|
|
||||||
super("Tusken Raider", "white Tusken Raider creature token", 1, 1);
|
|
||||||
this.setOriginalExpansionSetCode("SWS");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Tusken");
|
|
||||||
subtype.add("Raider");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -47,10 +48,9 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.BaruFistOfKrosaToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author emerald000
|
* @author emerald000
|
||||||
|
@ -120,15 +120,3 @@ class BaruFistOfKrosaEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BaruFistOfKrosaToken extends Token {
|
|
||||||
|
|
||||||
BaruFistOfKrosaToken(int xValue) {
|
|
||||||
super("Wurm", "X/X green Wurm creature token, where X is the number of lands you control");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Wurm");
|
|
||||||
power = new MageInt(xValue);
|
|
||||||
toughness = new MageInt(xValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,15 +27,14 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.BearsCompanionBearToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -64,16 +63,3 @@ public class BearsCompanion extends CardImpl {
|
||||||
return new BearsCompanion(this);
|
return new BearsCompanion(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class BearsCompanionBearToken extends Token {
|
|
||||||
|
|
||||||
public BearsCompanionBearToken() {
|
|
||||||
super("Bear", "4/4 green Bear creature token");
|
|
||||||
setOriginalExpansionSetCode("KTK");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Bear");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -27,18 +27,15 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.ExileTargetEffect;
|
import mage.abilities.effects.common.ExileTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.BeckonApparitionToken;
|
||||||
import mage.target.common.TargetCardInGraveyard;
|
import mage.target.common.TargetCardInGraveyard;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Loki
|
* @author Loki
|
||||||
*/
|
*/
|
||||||
|
@ -47,7 +44,6 @@ public class BeckonApparition extends CardImpl {
|
||||||
public BeckonApparition(UUID ownerId, CardSetInfo setInfo) {
|
public BeckonApparition(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W/B}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W/B}");
|
||||||
|
|
||||||
|
|
||||||
this.getSpellAbility().addEffect(new ExileTargetEffect());
|
this.getSpellAbility().addEffect(new ExileTargetEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetCardInGraveyard());
|
this.getSpellAbility().addTarget(new TargetCardInGraveyard());
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new BeckonApparitionToken(), 1));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new BeckonApparitionToken(), 1));
|
||||||
|
@ -62,18 +58,3 @@ public class BeckonApparition extends CardImpl {
|
||||||
return new BeckonApparition(this);
|
return new BeckonApparition(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class BeckonApparitionToken extends Token {
|
|
||||||
BeckonApparitionToken() {
|
|
||||||
super("Spirit", "1/1 white and black Spirit creature token with flying");
|
|
||||||
this.setOriginalExpansionSetCode("GTC");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Spirit");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.constants.ComparisonType;
|
|
||||||
import mage.abilities.common.ActivateIfConditionActivatedAbility;
|
import mage.abilities.common.ActivateIfConditionActivatedAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
|
@ -43,12 +43,11 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.l.LordOfLineage;
|
import mage.cards.l.LordOfLineage;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.ComparisonType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.VampireToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -94,15 +93,3 @@ public class BloodlineKeeper extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class VampireToken extends Token {
|
|
||||||
VampireToken() {
|
|
||||||
super("Vampire", "2/2 black Vampire creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Vampire");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -38,9 +39,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.MinorDemonToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -71,16 +70,3 @@ public class BorisDevilboon extends CardImpl {
|
||||||
return new BorisDevilboon(this);
|
return new BorisDevilboon(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class MinorDemonToken extends Token {
|
|
||||||
|
|
||||||
public MinorDemonToken() {
|
|
||||||
super("Minor Demon", "1/1 black and red Demon creature token named Minor Demon");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Demon");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,24 +27,21 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DjinnToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author KholdFuzion
|
* @author KholdFuzion
|
||||||
|
@ -103,16 +100,3 @@ class BottleOfSuleimanEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DjinnToken extends Token {
|
|
||||||
|
|
||||||
public DjinnToken() {
|
|
||||||
super("Djinn", "5/5 colorless Djinn artifact creature token with flying");
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Djinn");
|
|
||||||
power = new MageInt(5);
|
|
||||||
toughness = new MageInt(5);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
@ -38,9 +38,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ThrullToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -51,7 +49,6 @@ public class BreedingPit extends CardImpl {
|
||||||
public BreedingPit(UUID ownerId, CardSetInfo setInfo) {
|
public BreedingPit(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}");
|
||||||
|
|
||||||
|
|
||||||
// At the beginning of your upkeep, sacrifice Breeding Pit unless you pay {B}{B}.
|
// At the beginning of your upkeep, sacrifice Breeding Pit unless you pay {B}{B}.
|
||||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{B}{B}")), TargetController.YOU, false));
|
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{B}{B}")), TargetController.YOU, false));
|
||||||
|
|
||||||
|
@ -68,15 +65,3 @@ public class BreedingPit extends CardImpl {
|
||||||
return new BreedingPit(this);
|
return new BreedingPit(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ThrullToken extends Token {
|
|
||||||
|
|
||||||
ThrullToken() {
|
|
||||||
super("Thrull", "0/1 black Thrull creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Thrull");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
import mage.abilities.Mode;
|
||||||
|
@ -38,7 +39,6 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -46,13 +46,11 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledArtifactPermanent;
|
import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ThopterToken;
|
||||||
import mage.target.TargetPlayer;
|
import mage.target.TargetPlayer;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
@ -100,17 +98,3 @@ public class BreyaEtheriumShaper extends CardImpl {
|
||||||
return new BreyaEtheriumShaper(this);
|
return new BreyaEtheriumShaper(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ThopterToken extends Token {
|
|
||||||
|
|
||||||
ThopterToken() {
|
|
||||||
super("Thopter", "1/1 blue Thopter artifact creature tokens with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Thopter");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,15 +27,14 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.BoarToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -63,14 +62,3 @@ public class BrindleShoat extends CardImpl {
|
||||||
return new BrindleShoat(this);
|
return new BrindleShoat(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BoarToken extends Token {
|
|
||||||
BoarToken() {
|
|
||||||
super("Boar", "3/3 green Boar creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Boar");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,22 +27,15 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AuraAttachedTriggeredAbility;
|
import mage.abilities.common.AuraAttachedTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.game.permanent.token.BroodKeeperDragonToken;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.permanent.token.Token;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -74,19 +67,3 @@ public class BroodKeeper extends CardImpl {
|
||||||
return new BroodKeeper(this);
|
return new BroodKeeper(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BroodKeeperDragonToken extends Token {
|
|
||||||
|
|
||||||
public BroodKeeperDragonToken() {
|
|
||||||
super("Dragon", "2/2 red Dragon creature token with flying. It has \"{R}: This creature gets +1/+0 until end of turn.\"");
|
|
||||||
this.setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Dragon");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,30 +27,26 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
|
||||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.FlipSourceEffect;
|
import mage.abilities.effects.common.FlipSourceEffect;
|
||||||
import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect;
|
import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.DokaiWeaverofLifeToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Loki
|
* @author Loki
|
||||||
*/
|
*/
|
||||||
|
@ -85,6 +81,8 @@ public class BudokaGardener extends CardImpl {
|
||||||
|
|
||||||
class BudokaGardenerEffect extends OneShotEffect {
|
class BudokaGardenerEffect extends OneShotEffect {
|
||||||
|
|
||||||
|
final static FilterControlledPermanent filterLands = new FilterControlledLandPermanent("lands you control");
|
||||||
|
|
||||||
BudokaGardenerEffect() {
|
BudokaGardenerEffect() {
|
||||||
super(Outcome.PutLandInPlay);
|
super(Outcome.PutLandInPlay);
|
||||||
staticText = "If you control ten or more lands, flip {this}";
|
staticText = "If you control ten or more lands, flip {this}";
|
||||||
|
@ -98,7 +96,7 @@ class BudokaGardenerEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
if (game.getBattlefield().count(DokaiWeaverofLifeToken.filterLands, source.getSourceId(), source.getControllerId(), game) >= 10) {
|
if (game.getBattlefield().count(filterLands, source.getSourceId(), source.getControllerId(), game) >= 10) {
|
||||||
new FlipSourceEffect(new DokaiWeaverofLife()).apply(game, source);
|
new FlipSourceEffect(new DokaiWeaverofLife()).apply(game, source);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -131,19 +129,3 @@ class DokaiWeaverofLife extends Token {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DokaiWeaverofLifeToken extends Token {
|
|
||||||
|
|
||||||
final static FilterControlledPermanent filterLands = new FilterControlledLandPermanent("lands you control");
|
|
||||||
|
|
||||||
DokaiWeaverofLifeToken() {
|
|
||||||
super("Elemental", "X/X green Elemental creature token, where X is the number of lands you control");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(0);
|
|
||||||
DynamicValue controlledLands = new PermanentsOnBattlefieldCount(filterLands);
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(controlledLands, controlledLands, Duration.WhileOnBattlefield)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,16 +27,13 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.effects.common.CipherEffect;
|
import mage.abilities.effects.common.CipherEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.NightwingHorrorToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -47,7 +44,6 @@ public class CallOfTheNightwing extends CardImpl {
|
||||||
public CallOfTheNightwing(UUID ownerId, CardSetInfo setInfo) {
|
public CallOfTheNightwing(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}{B}");
|
||||||
|
|
||||||
|
|
||||||
// Create a 1/1 blue and black Horror creature token with flying.
|
// Create a 1/1 blue and black Horror creature token with flying.
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new NightwingHorrorToken(), 1));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new NightwingHorrorToken(), 1));
|
||||||
|
|
||||||
|
@ -65,18 +61,3 @@ public class CallOfTheNightwing extends CardImpl {
|
||||||
return new CallOfTheNightwing(this);
|
return new CallOfTheNightwing(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class NightwingHorrorToken extends Token {
|
|
||||||
NightwingHorrorToken() {
|
|
||||||
super("Horror", "1/1 blue and black Horror creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
this.color.setBlue(true);
|
|
||||||
this.color.setBlack(true);
|
|
||||||
this.subtype.add("Horror");
|
|
||||||
this.power = new MageInt(1);
|
|
||||||
this.toughness = new MageInt(1);
|
|
||||||
|
|
||||||
// Flying
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,16 +27,13 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.abilities.keyword.RetraceAbility;
|
import mage.abilities.keyword.RetraceAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CallTheSkyBreakerElementalToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -48,7 +45,7 @@ public class CallTheSkybreaker extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U/R}{U/R}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U/R}{U/R}");
|
||||||
|
|
||||||
// Create a 5/5 blue and red Elemental creature token with flying.
|
// Create a 5/5 blue and red Elemental creature token with flying.
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new ElementalToken()));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new CallTheSkyBreakerElementalToken()));
|
||||||
|
|
||||||
// Retrace
|
// Retrace
|
||||||
this.addAbility(new RetraceAbility(this));
|
this.addAbility(new RetraceAbility(this));
|
||||||
|
@ -65,19 +62,3 @@ public class CallTheSkybreaker extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ElementalToken extends Token {
|
|
||||||
public ElementalToken() {
|
|
||||||
super("Elemental", "5/5 blue and red Elemental creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) {
|
|
||||||
setTokenType(2);
|
|
||||||
}
|
|
||||||
power = new MageInt(5);
|
|
||||||
toughness = new MageInt(5);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
@ -50,12 +50,10 @@ import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.filter.predicate.permanent.TokenPredicate;
|
import mage.filter.predicate.permanent.TokenPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CaribouToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LoneFox
|
* @author LoneFox
|
||||||
|
@ -99,15 +97,3 @@ public class CaribouRange extends CardImpl {
|
||||||
return new CaribouRange(this);
|
return new CaribouRange(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CaribouToken extends Token {
|
|
||||||
|
|
||||||
public CaribouToken() {
|
|
||||||
super("Caribou", "0/1 white Caribou creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Caribou");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
|
@ -34,7 +35,6 @@ import mage.abilities.common.DrawCardControllerTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.keyword.IslandwalkAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -43,11 +43,9 @@ import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ChasmSkulkerSquidToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -111,19 +109,3 @@ class ChasmSkulkerEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChasmSkulkerSquidToken extends Token {
|
|
||||||
|
|
||||||
public ChasmSkulkerSquidToken() {
|
|
||||||
super("Squid", "1/1 blue Squid creature token with islandwalk");
|
|
||||||
this.setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Squid");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(new IslandwalkAbility());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,9 +27,9 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.CanBlockOnlyFlyingAbility;
|
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.DiscardCardCost;
|
import mage.abilities.costs.common.DiscardCardCost;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
@ -40,9 +40,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CloudSpriteToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -75,19 +73,3 @@ public class Cloudseeder extends CardImpl {
|
||||||
return new Cloudseeder(this);
|
return new Cloudseeder(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CloudSpriteToken extends Token {
|
|
||||||
|
|
||||||
public CloudSpriteToken() {
|
|
||||||
super("Cloud Sprite", "1/1 blue faerie creature token named Cloud Sprite with flying and \"Cloud Sprite can block only creatures with flying.\"");
|
|
||||||
this.setOriginalExpansionSetCode("FUT");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Faerie");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
this.addAbility(new CanBlockOnlyFlyingAbility());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,17 +27,15 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.DefenderAbility;
|
import mage.abilities.keyword.DefenderAbility;
|
||||||
import mage.abilities.keyword.IslandwalkAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CoralBarrierSquidToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -68,19 +66,3 @@ public class CoralBarrier extends CardImpl {
|
||||||
return new CoralBarrier(this);
|
return new CoralBarrier(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CoralBarrierSquidToken extends Token {
|
|
||||||
|
|
||||||
public CoralBarrierSquidToken() {
|
|
||||||
super("Squid", "1/1 blue Squid creature token with islandwalk");
|
|
||||||
this.setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Squid");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(new IslandwalkAbility());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.Cost;
|
import mage.abilities.costs.Cost;
|
||||||
|
@ -42,12 +42,10 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
import mage.filter.common.FilterCreatureCard;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CorpseweftZombieToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
import mage.target.common.TargetCardInYourGraveyard;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -107,16 +105,3 @@ class CorpseweftEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CorpseweftZombieToken extends Token {
|
|
||||||
|
|
||||||
public CorpseweftZombieToken(int power, int toughness) {
|
|
||||||
super("Zombie Horror", "X/X black Zombie Horror creature token, where X is twice the number of cards exiled this way");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Zombie");
|
|
||||||
subtype.add("Horror");
|
|
||||||
color.setBlack(true);
|
|
||||||
this.power = new MageInt(power);
|
|
||||||
this.toughness = new MageInt(toughness);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
|
@ -41,9 +42,7 @@ import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CreakwoodLiegeToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -59,12 +58,10 @@ public class CreakwoodLiege extends CardImpl {
|
||||||
filterGreenCreature.add(new ColorPredicate(ObjectColor.GREEN));
|
filterGreenCreature.add(new ColorPredicate(ObjectColor.GREEN));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public CreakwoodLiege(UUID ownerId, CardSetInfo setInfo) {
|
public CreakwoodLiege(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B/G}{B/G}{B/G}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B/G}{B/G}{B/G}");
|
||||||
this.subtype.add("Horror");
|
this.subtype.add("Horror");
|
||||||
|
|
||||||
|
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
|
@ -85,16 +82,3 @@ public class CreakwoodLiege extends CardImpl {
|
||||||
return new CreakwoodLiege(this);
|
return new CreakwoodLiege(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CreakwoodLiegeToken extends Token {
|
|
||||||
CreakwoodLiegeToken() {
|
|
||||||
super("Worm", "1/1 black and green Worm creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Worm");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.ExileTargetEffect;
|
import mage.abilities.effects.common.ExileTargetEffect;
|
||||||
|
@ -38,12 +38,10 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CribSwapShapeshifterWhiteToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -102,16 +100,3 @@ class CribSwapEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CribSwapShapeshifterWhiteToken extends Token {
|
|
||||||
|
|
||||||
public CribSwapShapeshifterWhiteToken() {
|
|
||||||
super("Shapeshifter", "1/1 colorless Shapeshifter creature token with changeling");
|
|
||||||
this.setOriginalExpansionSetCode("LRW");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Shapeshifter");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(ChangelingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.condition.common.SurgedCondition;
|
import mage.abilities.condition.common.SurgedCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
|
@ -38,9 +38,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterNonlandPermanent;
|
import mage.filter.common.FilterNonlandPermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CrushOfTentaclesToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -70,16 +68,3 @@ public class CrushOfTentacles extends CardImpl {
|
||||||
return new CrushOfTentacles(this);
|
return new CrushOfTentacles(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CrushOfTentaclesToken extends Token {
|
|
||||||
|
|
||||||
public CrushOfTentaclesToken() {
|
|
||||||
super("Octopus", "8/8 blue Octopus creature");
|
|
||||||
this.setExpansionSetCodeForImage("BFZ");
|
|
||||||
this.cardType.add(CardType.CREATURE);
|
|
||||||
this.color.setBlue(true);
|
|
||||||
this.subtype.add("Octopus");
|
|
||||||
this.power = new MageInt(8);
|
|
||||||
this.toughness = new MageInt(8);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.SpellAbility;
|
import mage.abilities.SpellAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
@ -37,11 +37,9 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CurseOfTheSwineBoarToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -105,15 +103,3 @@ class CurseOfTheSwineEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CurseOfTheSwineBoarToken extends Token {
|
|
||||||
|
|
||||||
CurseOfTheSwineBoarToken() {
|
|
||||||
super("Boar", "2/2 green Boar creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Boar");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.LoyaltyAbility;
|
import mage.abilities.LoyaltyAbility;
|
||||||
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
|
||||||
|
@ -37,7 +37,6 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
import mage.abilities.effects.common.PutTokenOntoBattlefieldCopyTargetEffect;
|
import mage.abilities.effects.common.PutTokenOntoBattlefieldCopyTargetEffect;
|
||||||
import mage.abilities.keyword.DefenderAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -48,13 +47,11 @@ import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DarettiConstructToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCardInGraveyardOrBattlefield;
|
import mage.target.common.TargetCardInGraveyardOrBattlefield;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -126,22 +123,3 @@ class DarettiIngeniousIconoclastEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DarettiConstructToken extends Token {
|
|
||||||
|
|
||||||
public DarettiConstructToken() {
|
|
||||||
this("CNS");
|
|
||||||
}
|
|
||||||
|
|
||||||
public DarettiConstructToken(String setCode) {
|
|
||||||
super("Construct", "1/1 colorless Construct artifact creature token with defender");
|
|
||||||
this.setOriginalExpansionSetCode(setCode);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Construct");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
addAbility(DefenderAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.StateTriggeredAbility;
|
import mage.abilities.StateTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
|
@ -37,8 +37,6 @@ import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.SacrificeSourceEffect;
|
import mage.abilities.effects.common.SacrificeSourceEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
|
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -48,9 +46,7 @@ import mage.counters.CounterType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.MaritLageToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -140,22 +136,3 @@ class DarkDepthsAbility extends StateTriggeredAbility {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class MaritLageToken extends Token {
|
|
||||||
|
|
||||||
public MaritLageToken() {
|
|
||||||
super("Marit Lage", "legendary 20/20 black Avatar creature token with flying and indestructible named Marit Lage");
|
|
||||||
this.setOriginalExpansionSetCode("CSP");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Avatar");
|
|
||||||
addSuperType(SuperType.LEGENDARY);
|
|
||||||
|
|
||||||
color.setBlack(true);
|
|
||||||
power = new MageInt(20);
|
|
||||||
toughness = new MageInt(20);
|
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
this.addAbility(IndestructibleAbility.getInstance());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,14 +27,12 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.ContinuousEffectImpl;
|
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersControllerEffect;
|
import mage.abilities.effects.common.counter.AddCountersControllerEffect;
|
||||||
|
@ -44,12 +42,7 @@ import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.permanent.token.DaxosSpiritToken;
|
||||||
import mage.game.permanent.Permanent;
|
|
||||||
import mage.game.permanent.token.Token;
|
|
||||||
import mage.players.Player;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -91,54 +84,3 @@ public class DaxosTheReturned extends CardImpl {
|
||||||
return new DaxosTheReturned(this);
|
return new DaxosTheReturned(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DaxosSpiritToken extends Token {
|
|
||||||
|
|
||||||
DaxosSpiritToken() {
|
|
||||||
super("Spirit", "white and black Spirit enchantment creature token with \"This creature's power and toughness are each equal to the number of experience counters you have.\"");
|
|
||||||
this.setOriginalExpansionSetCode("C15");
|
|
||||||
setTokenType(2);
|
|
||||||
cardType.add(CardType.ENCHANTMENT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Spirit");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(0);
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DaxosSpiritSetPTEffect()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DaxosSpiritSetPTEffect extends ContinuousEffectImpl {
|
|
||||||
|
|
||||||
public DaxosSpiritSetPTEffect() {
|
|
||||||
super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.SetPT_7b, Outcome.BoostCreature);
|
|
||||||
staticText = "This creature's power and toughness are each equal to the number of experience counters you have";
|
|
||||||
}
|
|
||||||
|
|
||||||
public DaxosSpiritSetPTEffect(final DaxosSpiritSetPTEffect effect) {
|
|
||||||
super(effect);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DaxosSpiritSetPTEffect copy() {
|
|
||||||
return new DaxosSpiritSetPTEffect(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean apply(Game game, Ability source) {
|
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
|
||||||
if (controller != null) {
|
|
||||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
|
||||||
if (permanent != null && new MageObjectReference(source.getSourceObject(game), game).refersTo(permanent, game)) {
|
|
||||||
int amount = controller.getCounters().getCount(CounterType.EXPERIENCE);
|
|
||||||
permanent.getPower().setValue(amount);
|
|
||||||
permanent.getToughness().setValue(amount);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
discard();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
|
@ -35,16 +36,13 @@ import mage.abilities.condition.common.LastTimeCounterRemovedCondition;
|
||||||
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.keyword.ShroudAbility;
|
|
||||||
import mage.abilities.keyword.VanishingSacrificeAbility;
|
import mage.abilities.keyword.VanishingSacrificeAbility;
|
||||||
import mage.abilities.keyword.VanishingUpkeepAbility;
|
import mage.abilities.keyword.VanishingUpkeepAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DeadlyGrubToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -78,15 +76,3 @@ public class DeadlyGrub extends CardImpl {
|
||||||
return new DeadlyGrub(this);
|
return new DeadlyGrub(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DeadlyGrubToken extends Token {
|
|
||||||
DeadlyGrubToken() {
|
|
||||||
super("Insect", "6/1 green Insect creature token with shroud");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Insect");
|
|
||||||
power = new MageInt(6);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(ShroudAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -28,26 +28,15 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
|
||||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.game.permanent.token.DeathpactAngelToken;
|
||||||
import mage.filter.common.FilterCreatureCard;
|
|
||||||
import mage.filter.predicate.mageobject.NamePredicate;
|
|
||||||
import mage.game.permanent.token.Token;
|
|
||||||
import mage.target.common.TargetCardInYourGraveyard;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -77,32 +66,3 @@ public class DeathpactAngel extends CardImpl {
|
||||||
return new DeathpactAngel(this);
|
return new DeathpactAngel(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DeathpactAngelToken extends Token {
|
|
||||||
|
|
||||||
private static final FilterCreatureCard filter = new FilterCreatureCard("card named Deathpact Angel from your graveyard");
|
|
||||||
|
|
||||||
static {
|
|
||||||
filter.add(new NamePredicate("Deathpact Angel"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeathpactAngelToken() {
|
|
||||||
super("Cleric", "1/1 white and black Cleric creature token. It has \"{3}{W}{B}{B}, {T}, Sacrifice this creature: Return a card named Deathpact Angel from your graveyard to the battlefield.\"");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setBlack(true);
|
|
||||||
|
|
||||||
subtype.add("Cleric");
|
|
||||||
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{3}{W}{B}{B}"));
|
|
||||||
ability.addCost(new TapSourceCost());
|
|
||||||
ability.addCost(new SacrificeSourceCost());
|
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
|
||||||
this.addAbility(ability);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -35,13 +36,11 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
|
||||||
import mage.game.events.GameEvent.EventType;
|
import mage.game.events.GameEvent.EventType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.events.GameEvent;
|
||||||
|
import mage.game.permanent.token.EldraziToken;
|
||||||
import mage.game.stack.Spell;
|
import mage.game.stack.Spell;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
@ -99,14 +98,3 @@ class DesolationTwinOnCastAbility extends TriggeredAbilityImpl {
|
||||||
return "When you cast {this}, " + super.getRule();
|
return "When you cast {this}, " + super.getRule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EldraziToken extends Token {
|
|
||||||
|
|
||||||
public EldraziToken() {
|
|
||||||
super("Eldrazi", "10/10 colorless Eldrazi creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Eldrazi");
|
|
||||||
power = new MageInt(10);
|
|
||||||
toughness = new MageInt(10);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.costs.common.SacrificeXTargetCost;
|
import mage.abilities.costs.common.SacrificeXTargetCost;
|
||||||
import mage.abilities.dynamicvalue.common.GetXValue;
|
import mage.abilities.dynamicvalue.common.GetXValue;
|
||||||
|
@ -37,9 +38,7 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DevastatingSummonsElementalToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -50,7 +49,6 @@ public class DevastatingSummons extends CardImpl {
|
||||||
public DevastatingSummons(UUID ownerId, CardSetInfo setInfo) {
|
public DevastatingSummons(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
||||||
|
|
||||||
|
|
||||||
// As an additional cost to cast Devastating Summons, sacrifice X lands.
|
// As an additional cost to cast Devastating Summons, sacrifice X lands.
|
||||||
this.getSpellAbility().addCost(new SacrificeXTargetCost(new FilterControlledLandPermanent("lands"), true));
|
this.getSpellAbility().addCost(new SacrificeXTargetCost(new FilterControlledLandPermanent("lands"), true));
|
||||||
|
|
||||||
|
@ -81,7 +79,7 @@ class DevastatingSummonsEffect extends OneShotEffect {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
ElementalToken token = new ElementalToken();
|
DevastatingSummonsElementalToken token = new DevastatingSummonsElementalToken();
|
||||||
|
|
||||||
token.getPower().modifyBaseValue(new GetXValue().calculate(game, source, this));
|
token.getPower().modifyBaseValue(new GetXValue().calculate(game, source, this));
|
||||||
token.getToughness().modifyBaseValue(new GetXValue().calculate(game, source, this));
|
token.getToughness().modifyBaseValue(new GetXValue().calculate(game, source, this));
|
||||||
|
@ -96,13 +94,4 @@ class DevastatingSummonsEffect extends OneShotEffect {
|
||||||
return new DevastatingSummonsEffect(this);
|
return new DevastatingSummonsEffect(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class ElementalToken extends Token {
|
|
||||||
|
|
||||||
public ElementalToken() {
|
|
||||||
super("Elemental", "X/X red Elemental creature");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
|
@ -41,13 +41,12 @@ import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.DinOfTheFireherdToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
@ -119,16 +118,3 @@ class DinOfTheFireherdEffect extends OneShotEffect {
|
||||||
return applied;
|
return applied;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DinOfTheFireherdToken extends Token {
|
|
||||||
|
|
||||||
public DinOfTheFireherdToken() {
|
|
||||||
super("", "5/5 black and red Elemental creature");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
color.setBlack(true);
|
|
||||||
color.setRed(true);
|
|
||||||
power = new MageInt(5);
|
|
||||||
toughness = new MageInt(5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,11 +27,10 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SpellCastAllTriggeredAbility;
|
import mage.abilities.common.SpellCastAllTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -41,11 +40,10 @@ import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.Predicates;
|
import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.DovescapeToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.game.stack.Spell;
|
import mage.game.stack.Spell;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author emerald000
|
* @author emerald000
|
||||||
|
@ -53,6 +51,7 @@ import java.util.UUID;
|
||||||
public class Dovescape extends CardImpl {
|
public class Dovescape extends CardImpl {
|
||||||
|
|
||||||
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
|
private static final FilterSpell filter = new FilterSpell("a noncreature spell");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
||||||
}
|
}
|
||||||
|
@ -60,7 +59,6 @@ public class Dovescape extends CardImpl {
|
||||||
public Dovescape(UUID ownerId, CardSetInfo setInfo) {
|
public Dovescape(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W/U}{W/U}{W/U}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W/U}{W/U}{W/U}");
|
||||||
|
|
||||||
|
|
||||||
// Whenever a player casts a noncreature spell, counter that spell. That player creates X 1/1 white and blue Bird creature tokens with flying, where X is the spell's converted mana cost.
|
// Whenever a player casts a noncreature spell, counter that spell. That player creates X 1/1 white and blue Bird creature tokens with flying, where X is the spell's converted mana cost.
|
||||||
this.addAbility(new SpellCastAllTriggeredAbility(new DovescapeEffect(), filter, false, SetTargetPointer.SPELL));
|
this.addAbility(new SpellCastAllTriggeredAbility(new DovescapeEffect(), filter, false, SetTargetPointer.SPELL));
|
||||||
}
|
}
|
||||||
|
@ -106,16 +104,3 @@ class DovescapeEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DovescapeToken extends Token {
|
|
||||||
DovescapeToken() {
|
|
||||||
super("Bird", "1/1 white and blue Bird creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Bird");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,19 +27,16 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DevourEffect;
|
|
||||||
import mage.abilities.keyword.DevourAbility;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DragonToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -70,18 +67,4 @@ public class DragonBroodmother extends CardImpl {
|
||||||
return new DragonBroodmother(this);
|
return new DragonBroodmother(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
class DragonToken extends Token {
|
|
||||||
|
|
||||||
DragonToken() {
|
|
||||||
super("Dragon", "1/1 red and green Dragon creature token with flying and devour 2");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Dragon");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
addAbility(new DevourAbility(DevourEffect.DevourFactor.Devour2));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,22 +27,15 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
|
||||||
import mage.abilities.keyword.DefenderAbility;
|
import mage.abilities.keyword.DefenderAbility;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.game.permanent.token.DragonToken;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.permanent.token.Token;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -74,19 +67,4 @@ public class DragonEgg extends CardImpl {
|
||||||
return new DragonEgg(this);
|
return new DragonEgg(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
class DragonToken extends Token {
|
|
||||||
|
|
||||||
DragonToken() {
|
|
||||||
super("Dragon", "2/2 red Dragon creature token with flying that has \"{R}: This creature gets +1/+0 until end of turn");
|
|
||||||
this.setOriginalExpansionSetCode("M14");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Dragon");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
|
@ -36,9 +37,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DuneBroodNephilimToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Loki
|
* @author Loki
|
||||||
|
@ -51,7 +50,6 @@ public class DuneBroodNephilim extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}{W}");
|
||||||
this.subtype.add("Nephilim");
|
this.subtype.add("Nephilim");
|
||||||
|
|
||||||
|
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
|
@ -68,13 +66,3 @@ public class DuneBroodNephilim extends CardImpl {
|
||||||
return new DuneBroodNephilim(this);
|
return new DuneBroodNephilim(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DuneBroodNephilimToken extends Token {
|
|
||||||
DuneBroodNephilimToken() {
|
|
||||||
super("Sand", "1/1 colorless Sand creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Sand");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.KickedCondition;
|
import mage.abilities.condition.common.KickedCondition;
|
||||||
|
@ -35,18 +35,14 @@ import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.abilities.keyword.KickerAbility;
|
import mage.abilities.keyword.KickerAbility;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ElementalAppealElementalToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -98,26 +94,12 @@ class ElementalAppealEffect extends OneShotEffect {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
|
|
||||||
CreateTokenEffect effect = new CreateTokenEffect(new ElementalToken());
|
CreateTokenEffect effect = new CreateTokenEffect(new ElementalAppealElementalToken());
|
||||||
if(effect.apply(game, source))
|
if (effect.apply(game, source)) {
|
||||||
{
|
|
||||||
effect.exileTokensCreatedAtNextEndStep(game, source);
|
effect.exileTokensCreatedAtNextEndStep(game, source);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
class ElementalToken extends Token {
|
|
||||||
|
|
||||||
public ElementalToken() {
|
|
||||||
super("Elemental", "7/1 red Elemental creature token with trample and haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
power = new MageInt(7);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(TrampleAbility.getInstance());
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
@ -37,7 +37,6 @@ import mage.abilities.effects.common.AttachEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||||
import mage.abilities.keyword.EnchantAbility;
|
import mage.abilities.keyword.EnchantAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.AttachmentType;
|
import mage.constants.AttachmentType;
|
||||||
|
@ -46,12 +45,10 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ElementalMasteryElementalToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
@ -106,7 +103,7 @@ class ElementalMasteryEffect extends OneShotEffect {
|
||||||
if (creatureAttached != null) {
|
if (creatureAttached != null) {
|
||||||
int power = creatureAttached.getPower().getValue();
|
int power = creatureAttached.getPower().getValue();
|
||||||
if (power > 0) {
|
if (power > 0) {
|
||||||
CreateTokenEffect effect = new CreateTokenEffect(new ElementalToken(), power);
|
CreateTokenEffect effect = new CreateTokenEffect(new ElementalMasteryElementalToken(), power);
|
||||||
effect.apply(game, source);
|
effect.apply(game, source);
|
||||||
effect.exileTokensCreatedAtNextEndStep(game, source);
|
effect.exileTokensCreatedAtNextEndStep(game, source);
|
||||||
return true;
|
return true;
|
||||||
|
@ -115,16 +112,4 @@ class ElementalMasteryEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
class ElementalToken extends Token {
|
|
||||||
|
|
||||||
public ElementalToken() {
|
|
||||||
super("Elemental", "1/1 red Elemental creature token with haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
color.setRed(true);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
|
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
|
||||||
import mage.abilities.condition.common.MyTurnCondition;
|
import mage.abilities.condition.common.MyTurnCondition;
|
||||||
|
@ -38,9 +38,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.EyesOfTheWisentElementalToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -75,18 +73,3 @@ public class EyesOfTheWisent extends CardImpl {
|
||||||
return new EyesOfTheWisent(this);
|
return new EyesOfTheWisent(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EyesOfTheWisentElementalToken extends Token {
|
|
||||||
|
|
||||||
public EyesOfTheWisentElementalToken() {
|
|
||||||
super("Elemental", "4/4 green Elemental creature token");
|
|
||||||
this.setOriginalExpansionSetCode("MMA");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
setTokenType(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,21 +27,18 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.OwlToken;
|
||||||
import mage.game.permanent.token.WolfToken;
|
import mage.game.permanent.token.WolfToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Loki
|
* @author Loki
|
||||||
*/
|
*/
|
||||||
|
@ -58,7 +55,6 @@ public class FableOfWolfAndOwl extends CardImpl {
|
||||||
public FableOfWolfAndOwl(UUID ownerId, CardSetInfo setInfo) {
|
public FableOfWolfAndOwl(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G/U}{G/U}{G/U}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G/U}{G/U}{G/U}");
|
||||||
|
|
||||||
|
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new WolfToken(), 1), filterGreenSpell, true));
|
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new WolfToken(), 1), filterGreenSpell, true));
|
||||||
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new OwlToken(), 1), filterBlueSpell, true));
|
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new OwlToken(), 1), filterBlueSpell, true));
|
||||||
}
|
}
|
||||||
|
@ -72,15 +68,3 @@ public class FableOfWolfAndOwl extends CardImpl {
|
||||||
return new FableOfWolfAndOwl(this);
|
return new FableOfWolfAndOwl(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class OwlToken extends Token {
|
|
||||||
OwlToken() {
|
|
||||||
super("Bird", "1/1 blue Bird creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Bird");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -36,11 +36,9 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GiantWarriorToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -51,7 +49,6 @@ public class FeudkillersVerdict extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{4}{W}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{4}{W}{W}");
|
||||||
this.subtype.add("Giant");
|
this.subtype.add("Giant");
|
||||||
|
|
||||||
|
|
||||||
// You gain 10 life. Then if you have more life than an opponent, create a 5/5 white Giant Warrior creature token.
|
// You gain 10 life. Then if you have more life than an opponent, create a 5/5 white Giant Warrior creature token.
|
||||||
this.getSpellAbility().addEffect(new FeudkillersVerdictEffect());
|
this.getSpellAbility().addEffect(new FeudkillersVerdictEffect());
|
||||||
}
|
}
|
||||||
|
@ -106,15 +103,3 @@ class FeudkillersVerdictEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GiantWarriorToken extends Token {
|
|
||||||
GiantWarriorToken() {
|
|
||||||
super("Giant Warrior", "5/5 white Giant Warrior creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Giant");
|
|
||||||
subtype.add("Warrior");
|
|
||||||
power = new MageInt(5);
|
|
||||||
toughness = new MageInt(5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
||||||
import mage.abilities.costs.Cost;
|
import mage.abilities.costs.Cost;
|
||||||
|
@ -38,7 +38,6 @@ import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.ExileTargetEffect;
|
import mage.abilities.effects.common.ExileTargetEffect;
|
||||||
import mage.abilities.keyword.FlashbackAbility;
|
import mage.abilities.keyword.FlashbackAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -49,12 +48,10 @@ import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ElementalCatToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Styxo
|
* @author Styxo
|
||||||
|
@ -131,17 +128,3 @@ class FirecatBlitzEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ElementalCatToken extends Token {
|
|
||||||
|
|
||||||
public ElementalCatToken() {
|
|
||||||
super("Elemental Cat", "1/1 red Elemental Cat creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
subtype.add("Cat");
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -43,12 +44,10 @@ import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ConstructToken;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
import mage.target.common.TargetCreatureOrPlayer;
|
import mage.target.common.TargetCreatureOrPlayer;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
@ -90,22 +89,3 @@ public class Flamewright extends CardImpl {
|
||||||
return new Flamewright(this);
|
return new Flamewright(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ConstructToken extends Token {
|
|
||||||
|
|
||||||
public ConstructToken() {
|
|
||||||
this("CNS");
|
|
||||||
}
|
|
||||||
|
|
||||||
public ConstructToken(String setCode) {
|
|
||||||
super("Construct", "1/1 colorless Construct artifact creature token with defender");
|
|
||||||
this.setOriginalExpansionSetCode(setCode);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Construct");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
addAbility(DefenderAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.DiesTriggeredAbility;
|
import mage.abilities.common.DiesTriggeredAbility;
|
||||||
|
@ -49,12 +50,10 @@ import mage.filter.predicate.permanent.AnotherPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.FleshCarverHorrorToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -97,6 +96,7 @@ public class FleshCarver extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
class FleshCarverAbility extends DiesTriggeredAbility {
|
class FleshCarverAbility extends DiesTriggeredAbility {
|
||||||
|
|
||||||
public FleshCarverAbility() {
|
public FleshCarverAbility() {
|
||||||
super(new FleshCarverEffect(), false);
|
super(new FleshCarverEffect(), false);
|
||||||
}
|
}
|
||||||
|
@ -157,17 +157,3 @@ class FleshCarverEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class FleshCarverHorrorToken extends Token {
|
|
||||||
|
|
||||||
public FleshCarverHorrorToken(int xValue) {
|
|
||||||
super("Horror", "X/X black Horror creature token");
|
|
||||||
setOriginalExpansionSetCode("C14");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Horror");
|
|
||||||
power = new MageInt(xValue);
|
|
||||||
toughness = new MageInt(xValue);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,16 +27,12 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.FlurryOfHornsMinotaurToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -47,7 +43,6 @@ public class FlurryOfHorns extends CardImpl {
|
||||||
public FlurryOfHorns(UUID ownerId, CardSetInfo setInfo) {
|
public FlurryOfHorns(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}");
|
||||||
|
|
||||||
|
|
||||||
// Create two 2/3 red Minotaur creature tokens with haste.
|
// Create two 2/3 red Minotaur creature tokens with haste.
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new FlurryOfHornsMinotaurToken(), 2));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new FlurryOfHornsMinotaurToken(), 2));
|
||||||
}
|
}
|
||||||
|
@ -61,17 +56,3 @@ public class FlurryOfHorns extends CardImpl {
|
||||||
return new FlurryOfHorns(this);
|
return new FlurryOfHorns(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FlurryOfHornsMinotaurToken extends Token {
|
|
||||||
|
|
||||||
public FlurryOfHornsMinotaurToken() {
|
|
||||||
super("Minotaur", "2/3 red Minotaur creature tokens with haste");
|
|
||||||
this.setOriginalExpansionSetCode("JOU");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setColor(ObjectColor.RED);
|
|
||||||
subtype.add("Minotaur");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,17 +27,14 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterAttackingCreature;
|
import mage.filter.common.FilterAttackingCreature;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.BirdSoldierToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -50,10 +47,6 @@ public class FlurryOfWings extends CardImpl {
|
||||||
public FlurryOfWings(UUID ownerId, CardSetInfo setInfo) {
|
public FlurryOfWings(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}{W}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}{W}{U}");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new BirdSoldierToken(), new PermanentsOnBattlefieldCount(filter)));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new BirdSoldierToken(), new PermanentsOnBattlefieldCount(filter)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,18 +59,3 @@ public class FlurryOfWings extends CardImpl {
|
||||||
return new FlurryOfWings(this);
|
return new FlurryOfWings(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class BirdSoldierToken extends Token {
|
|
||||||
|
|
||||||
public BirdSoldierToken() {
|
|
||||||
super("Bird Soldier", "1/1 white Bird Soldier creature with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Bird");
|
|
||||||
|
|
||||||
color.setWhite(true);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -36,9 +37,7 @@ import mage.abilities.keyword.IntimidateAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ForlornPseudammaZombieToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -68,17 +67,3 @@ public class ForlornPseudamma extends CardImpl {
|
||||||
return new ForlornPseudamma(this);
|
return new ForlornPseudamma(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ForlornPseudammaZombieToken extends Token {
|
|
||||||
|
|
||||||
public ForlornPseudammaZombieToken() {
|
|
||||||
super("Zombie", "2/2 black Zombie enchantment creature token");
|
|
||||||
cardType.add(CardType.ENCHANTMENT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Zombie");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
this.setOriginalExpansionSetCode("BNG");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.LoyaltyAbility;
|
import mage.abilities.LoyaltyAbility;
|
||||||
import mage.abilities.common.CanBeYourCommanderAbility;
|
import mage.abilities.common.CanBeYourCommanderAbility;
|
||||||
|
@ -36,18 +36,15 @@ import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
|
import mage.filter.common.FilterArtifactOrEnchantmentPermanent;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.FreyaliseLlanowarsFuryToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -88,21 +85,3 @@ public class FreyaliseLlanowarsFury extends CardImpl {
|
||||||
return new FreyaliseLlanowarsFury(this);
|
return new FreyaliseLlanowarsFury(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FreyaliseLlanowarsFuryToken extends Token {
|
|
||||||
|
|
||||||
FreyaliseLlanowarsFuryToken() {
|
|
||||||
super("Elf Druid", "1/1 green Elf Druid creature token with \"{T}: Add {G} to your mana pool.\"");
|
|
||||||
this.setOriginalExpansionSetCode("C14");
|
|
||||||
this.cardType.add(CardType.CREATURE);
|
|
||||||
this.color = ObjectColor.GREEN;
|
|
||||||
this.subtype.add("Elf");
|
|
||||||
this.subtype.add("Druid");
|
|
||||||
|
|
||||||
this.power = new MageInt(1);
|
|
||||||
this.toughness = new MageInt(1);
|
|
||||||
|
|
||||||
// {T}: Add {G} to your mana pool.
|
|
||||||
this.addAbility(new GreenManaAbility());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,21 +27,18 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.ActivatedAbilityImpl;
|
import mage.abilities.ActivatedAbilityImpl;
|
||||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.abilities.mana.ColorlessManaAbility;
|
import mage.abilities.mana.ColorlessManaAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GargoyleToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -89,16 +86,3 @@ class GargoyleCastleAbility extends ActivatedAbilityImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class GargoyleToken extends Token {
|
|
||||||
|
|
||||||
public GargoyleToken() {
|
|
||||||
super("Gargoyle", "3/4 colorless Gargoyle artifact creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
subtype.add("Gargoyle");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.LoyaltyAbility;
|
import mage.abilities.LoyaltyAbility;
|
||||||
import mage.abilities.common.AttackedByCreatureTriggeredAbility;
|
import mage.abilities.common.AttackedByCreatureTriggeredAbility;
|
||||||
|
@ -39,7 +39,6 @@ import mage.abilities.effects.common.DestroyTargetEffect;
|
||||||
import mage.abilities.effects.common.GetEmblemTargetPlayerEffect;
|
import mage.abilities.effects.common.GetEmblemTargetPlayerEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
@ -50,14 +49,12 @@ import mage.filter.predicate.permanent.AnotherPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.command.Emblem;
|
import mage.game.command.Emblem;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GarrukApexPredatorBeastToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -138,24 +135,6 @@ class GarrukApexPredatorEffect3 extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GarrukApexPredatorBeastToken extends Token {
|
|
||||||
|
|
||||||
public GarrukApexPredatorBeastToken() {
|
|
||||||
super("Beast", "3/3 black Beast creature token with deathtouch");
|
|
||||||
setOriginalExpansionSetCode("M15");
|
|
||||||
setTokenType(1);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Beast");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
|
|
||||||
abilities.add(DeathtouchAbility.getInstance());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample
|
* Emblem with "Whenever a creature attacks you, it gets +5/+5 and gains trample
|
||||||
* until end of turn."
|
* until end of turn."
|
||||||
|
|
|
@ -27,10 +27,9 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -38,11 +37,10 @@ import mage.constants.Outcome;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.SpiritBlueToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author noxx
|
* @author noxx
|
||||||
|
@ -58,7 +56,6 @@ public class GeistSnatch extends CardImpl {
|
||||||
public GeistSnatch(UUID ownerId, CardSetInfo setInfo) {
|
public GeistSnatch(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{U}");
|
||||||
|
|
||||||
|
|
||||||
// Counter target creature spell. Create a 1/1 blue Spirit creature token with flying.
|
// Counter target creature spell. Create a 1/1 blue Spirit creature token with flying.
|
||||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||||
this.getSpellAbility().addEffect(new GeistSnatchCounterTargetEffect());
|
this.getSpellAbility().addEffect(new GeistSnatchCounterTargetEffect());
|
||||||
|
@ -98,18 +95,3 @@ class GeistSnatchCounterTargetEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SpiritBlueToken extends Token {
|
|
||||||
|
|
||||||
public SpiritBlueToken() {
|
|
||||||
super("Spirit", "1/1 blue Spirit creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Spirit");
|
|
||||||
color.setBlue(true);
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
setTokenType(2);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -35,14 +36,11 @@ import mage.abilities.costs.common.SacrificeSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.ButterflyToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -73,16 +71,3 @@ public class GiantCaterpillar extends CardImpl {
|
||||||
return new GiantCaterpillar(this);
|
return new GiantCaterpillar(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ButterflyToken extends Token {
|
|
||||||
|
|
||||||
public ButterflyToken() {
|
|
||||||
super("Butterfly", "1/1 green Insect creature token with flying named Butterfly");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Insect");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,20 +27,17 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.ConspireAbility;
|
import mage.abilities.keyword.ConspireAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GiantBaitingGiantWarriorToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -87,27 +84,11 @@ class GiantbaitingEffect extends OneShotEffect {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
CreateTokenEffect effect = new CreateTokenEffect(new GiantWarriorToken());
|
CreateTokenEffect effect = new CreateTokenEffect(new GiantBaitingGiantWarriorToken());
|
||||||
if(effect.apply(game, source))
|
if (effect.apply(game, source)) {
|
||||||
{
|
|
||||||
effect.exileTokensCreatedAtNextEndStep(game, source);
|
effect.exileTokensCreatedAtNextEndStep(game, source);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GiantWarriorToken extends Token {
|
|
||||||
|
|
||||||
GiantWarriorToken() {
|
|
||||||
super("Giant Warrior", "4/4 red and green Giant Warrior creature token with haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Giant");
|
|
||||||
subtype.add("Warrior");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
this.addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,32 +27,21 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
|
||||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterAttackingCreature;
|
|
||||||
import mage.filter.predicate.Predicates;
|
|
||||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.LandMineToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -117,23 +106,3 @@ class GoblinKaboomistFlipCoinEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class LandMineToken extends Token {
|
|
||||||
|
|
||||||
private static final FilterAttackingCreature filter = new FilterAttackingCreature("attacking creature without flying");
|
|
||||||
|
|
||||||
static {
|
|
||||||
filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
|
|
||||||
}
|
|
||||||
|
|
||||||
public LandMineToken() {
|
|
||||||
super("Land Mine", "colorless artifact token named Land Mine with \"{R}, Sacrifice this artifact: This artifact deals 2 damage to target attacking creature without flying.\"");
|
|
||||||
this.setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}"));
|
|
||||||
ability.addCost(new SacrificeSourceCost());
|
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
|
||||||
this.addAbility(ability);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,15 +27,12 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.MountainwalkAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GoblinScoutsToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -59,18 +56,3 @@ public class GoblinScouts extends CardImpl {
|
||||||
return new GoblinScouts(this);
|
return new GoblinScouts(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GoblinScoutsToken extends Token {
|
|
||||||
|
|
||||||
public GoblinScoutsToken() {
|
|
||||||
super("Goblin Scout", "1/1 red Goblin Scout creature tokens with mountainwalk");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Goblin");
|
|
||||||
subtype.add("Scout");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(new MountainwalkAbility());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,25 +27,20 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.effects.Effect;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.combat.AttacksIfAbleAllEffect;
|
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
import mage.game.permanent.token.SpyMasterGoblinToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author spjspj
|
* @author spjspj
|
||||||
|
@ -105,24 +100,3 @@ class SpyMasterGoblinCreateTokenEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SpyMasterGoblinToken extends Token {
|
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control");
|
|
||||||
|
|
||||||
static {
|
|
||||||
filter.add(new ControllerPredicate(TargetController.YOU));
|
|
||||||
}
|
|
||||||
|
|
||||||
SpyMasterGoblinToken() {
|
|
||||||
super("Goblin", "1/1 red Goblin creature token with \"Creatures you control attack each combat if able.\"");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Goblin");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
Effect effect = new AttacksIfAbleAllEffect(filter, Duration.WhileOnBattlefield, true);
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||||
|
@ -39,11 +39,9 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GoblinTrenchesToken;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Loki
|
* @author Loki
|
||||||
|
@ -55,8 +53,6 @@ public class GoblinTrenches extends CardImpl {
|
||||||
public GoblinTrenches(UUID ownerId, CardSetInfo setInfo) {
|
public GoblinTrenches(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{W}");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// {2}, Sacrifice a land: Create two 1/1 red and white Goblin Soldier creature tokens.
|
// {2}, Sacrifice a land: Create two 1/1 red and white Goblin Soldier creature tokens.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinTrenchesToken(), 2), new GenericManaCost(2));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoblinTrenchesToken(), 2), new GenericManaCost(2));
|
||||||
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||||
|
@ -72,18 +68,3 @@ public class GoblinTrenches extends CardImpl {
|
||||||
return new GoblinTrenches(this);
|
return new GoblinTrenches(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GoblinTrenchesToken extends Token {
|
|
||||||
GoblinTrenchesToken() {
|
|
||||||
super("Goblin Soldier", "1/1 red and white Goblin Soldier creature tokens");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Goblin");
|
|
||||||
subtype.add("Soldier");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -35,9 +36,7 @@ import mage.abilities.keyword.InspiredAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GodFavoredGeneralSoldierToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -54,7 +53,7 @@ public class GodFavoredGeneral extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// <i>Inspired</i> - Whenever God-Favored General becomes untapped, you may pay {2}{W}. If you do, create two 1/1 white Soldier enchantment creature tokens.
|
// <i>Inspired</i> - Whenever God-Favored General becomes untapped, you may pay {2}{W}. If you do, create two 1/1 white Soldier enchantment creature tokens.
|
||||||
this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new SoldierToken(), 2), new ManaCostsImpl("{2}{W}"))));
|
this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new GodFavoredGeneralSoldierToken(), 2), new ManaCostsImpl("{2}{W}"))));
|
||||||
}
|
}
|
||||||
|
|
||||||
public GodFavoredGeneral(final GodFavoredGeneral card) {
|
public GodFavoredGeneral(final GodFavoredGeneral card) {
|
||||||
|
@ -66,19 +65,3 @@ public class GodFavoredGeneral extends CardImpl {
|
||||||
return new GodFavoredGeneral(this);
|
return new GodFavoredGeneral(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SoldierToken extends Token {
|
|
||||||
|
|
||||||
public SoldierToken() {
|
|
||||||
super("Soldier", "1/1 white Soldier enchantment creature token");
|
|
||||||
cardType.add(CardType.ENCHANTMENT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
|
|
||||||
subtype.add("Soldier");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.setOriginalExpansionSetCode("BNG");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -25,9 +25,9 @@
|
||||||
* authors and should not be interpreted as representing official policies, either expressed
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
* or implied, of BetaSteward_at_googlemail.com.
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
@ -37,9 +37,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GodSireBeastToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -51,11 +49,10 @@ public class Godsire extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}{G}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}{G}{W}");
|
||||||
this.subtype.add("Beast");
|
this.subtype.add("Beast");
|
||||||
|
|
||||||
|
|
||||||
this.power = new MageInt(8);
|
this.power = new MageInt(8);
|
||||||
this.toughness = new MageInt(8);
|
this.toughness = new MageInt(8);
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), new TapSourceCost()));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GodSireBeastToken()), new TapSourceCost()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Godsire(final Godsire card) {
|
public Godsire(final Godsire card) {
|
||||||
|
@ -68,16 +65,3 @@ public class Godsire extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class BeastToken extends Token {
|
|
||||||
BeastToken() {
|
|
||||||
super("Beast", "8/8 Beast creature token that's red, green, and white");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
color.setWhite(true);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Beast");
|
|
||||||
power = new MageInt(8);
|
|
||||||
toughness = new MageInt(8);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -34,15 +35,11 @@ import mage.abilities.costs.common.DiscardCardCost;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.TapTargetEffect;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GoldmeadowHarrierToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -73,22 +70,3 @@ public class GoldmeadowLookout extends CardImpl {
|
||||||
return new GoldmeadowLookout(this);
|
return new GoldmeadowLookout(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GoldmeadowHarrierToken extends Token {
|
|
||||||
|
|
||||||
public GoldmeadowHarrierToken() {
|
|
||||||
super("Goldmeadow Harrier", "1/1 white Kithkin Soldier creature token named Goldmeadow Harrier with \"{W}, {T}: Tap target creature.\"");
|
|
||||||
this.setOriginalExpansionSetCode("FUT");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Kithkin");
|
|
||||||
subtype.add("Soldier");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}"));
|
|
||||||
ability.addCost(new TapSourceCost());
|
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
|
||||||
this.addAbility(ability);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.DiesAttachedTriggeredAbility;
|
import mage.abilities.common.DiesAttachedTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
@ -40,12 +40,10 @@ import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GriffinToken;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -56,7 +54,6 @@ public class GriffinGuide extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
||||||
this.subtype.add("Aura");
|
this.subtype.add("Aura");
|
||||||
|
|
||||||
|
|
||||||
// Enchant creature
|
// Enchant creature
|
||||||
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
||||||
this.getSpellAbility().addTarget(auraTarget);
|
this.getSpellAbility().addTarget(auraTarget);
|
||||||
|
@ -80,18 +77,3 @@ public class GriffinGuide extends CardImpl {
|
||||||
return new GriffinGuide(this);
|
return new GriffinGuide(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GriffinToken extends Token {
|
|
||||||
|
|
||||||
public GriffinToken() {
|
|
||||||
super("Griffin", "2/2 white Griffin creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
|
|
||||||
subtype.add("Griffin");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AllyEntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.AllyEntersBattlefieldTriggeredAbility;
|
||||||
|
@ -39,11 +40,9 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GrovetenderDruidsPlantToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
|
@ -104,16 +103,3 @@ class GrovetenderDruidsEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class GrovetenderDruidsPlantToken extends Token {
|
|
||||||
|
|
||||||
public GrovetenderDruidsPlantToken() {
|
|
||||||
super("Plant", "1/1 green Plant creature");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Plant");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.setOriginalExpansionSetCode("BFZ");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,32 +27,25 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.g;
|
package mage.cards.g;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
|
||||||
import mage.abilities.effects.Effect;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect;
|
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
|
||||||
import mage.game.events.GameEvent.EventType;
|
import mage.game.events.GameEvent.EventType;
|
||||||
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.events.ZoneChangeEvent;
|
import mage.game.events.ZoneChangeEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.PermanentToken;
|
import mage.game.permanent.PermanentToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.GutterGrimeToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -63,7 +56,6 @@ public class GutterGrime extends CardImpl {
|
||||||
public GutterGrime(UUID ownerId, CardSetInfo setInfo) {
|
public GutterGrime(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{G}");
|
||||||
|
|
||||||
|
|
||||||
// Whenever a nontoken creature you control dies, put a slime counter on Gutter Grime, then create a green Ooze creature token with "This creature's power and toughness are each equal to the number of slime counters on Gutter Grime."
|
// Whenever a nontoken creature you control dies, put a slime counter on Gutter Grime, then create a green Ooze creature token with "This creature's power and toughness are each equal to the number of slime counters on Gutter Grime."
|
||||||
this.addAbility(new GutterGrimeTriggeredAbility());
|
this.addAbility(new GutterGrimeTriggeredAbility());
|
||||||
}
|
}
|
||||||
|
@ -123,7 +115,6 @@ class GutterGrimeTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class GutterGrimeEffect extends OneShotEffect {
|
class GutterGrimeEffect extends OneShotEffect {
|
||||||
|
|
||||||
public GutterGrimeEffect() {
|
public GutterGrimeEffect() {
|
||||||
|
@ -147,49 +138,3 @@ class GutterGrimeEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class GutterGrimeToken extends Token {
|
|
||||||
|
|
||||||
public GutterGrimeToken(UUID sourceId) {
|
|
||||||
super("Ooze", "green Ooze creature token with \"This creature's power and toughness are each equal to the number of slime counters on Gutter Grime.\"");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Ooze");
|
|
||||||
color.setGreen(true);
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(0);
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect(new GutterGrimeCounters(sourceId), Duration.WhileOnBattlefield)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class GutterGrimeCounters implements DynamicValue {
|
|
||||||
|
|
||||||
private final UUID sourceId;
|
|
||||||
|
|
||||||
public GutterGrimeCounters(UUID sourceId) {
|
|
||||||
this.sourceId = sourceId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
|
||||||
Permanent p = game.getPermanent(sourceId);
|
|
||||||
if (p != null) {
|
|
||||||
return p.getCounters(game).getCount(CounterType.SLIME);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public GutterGrimeCounters copy() {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getMessage() {
|
|
||||||
return "slime counters on Gutter Grime";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "1";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
@ -45,11 +45,9 @@ import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledLandPermanent;
|
import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HammerOfPurphorosGolemToken;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -80,16 +78,3 @@ public class HammerOfPurphoros extends CardImpl {
|
||||||
return new HammerOfPurphoros(this);
|
return new HammerOfPurphoros(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class HammerOfPurphorosGolemToken extends Token {
|
|
||||||
|
|
||||||
public HammerOfPurphorosGolemToken() {
|
|
||||||
super("Golem", "3/3 colorless Golem enchantment artifact creature token");
|
|
||||||
setOriginalExpansionSetCode("THS");
|
|
||||||
cardType.add(CardType.ENCHANTMENT);
|
|
||||||
cardType.add(CardType.ARTIFACT);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Golem");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -29,7 +29,6 @@ package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.ObjectColor;
|
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -38,7 +37,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.RedHumanToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -69,16 +68,3 @@ public class HanweirGarrison extends CardImpl {
|
||||||
return new HanweirGarrison(this);
|
return new HanweirGarrison(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RedHumanToken extends Token {
|
|
||||||
|
|
||||||
public RedHumanToken() {
|
|
||||||
super("Human", "1/1 red Human creature token");
|
|
||||||
this.cardType.add(CardType.CREATURE);
|
|
||||||
this.subtype.add("Human");
|
|
||||||
|
|
||||||
this.color = ObjectColor.RED;
|
|
||||||
this.power = new MageInt(1);
|
|
||||||
this.toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -45,7 +44,7 @@ import mage.counters.CounterType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.DeathtouchSnakeToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -123,16 +122,3 @@ class HapatraVizierOfPoisonsTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
return "Whenever you put one or more -1/-1 counters on a creature, " + super.getRule();
|
return "Whenever you put one or more -1/-1 counters on a creature, " + super.getRule();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DeathtouchSnakeToken extends Token {
|
|
||||||
|
|
||||||
public DeathtouchSnakeToken() {
|
|
||||||
super("Snake", "1/1 green Snake creature token with deathtouch");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Snake");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(DeathtouchAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -39,12 +39,12 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HauntedAngelToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LoneFox
|
* @author LoneFox
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
public class HauntedAngel extends CardImpl {
|
public class HauntedAngel extends CardImpl {
|
||||||
|
|
||||||
|
@ -100,15 +100,3 @@ class HauntedAngelEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HauntedAngelToken extends Token {
|
|
||||||
public HauntedAngelToken() {
|
|
||||||
super("Angel", "3/3 black Angel creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Angel");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.DelayedTriggeredAbility;
|
import mage.abilities.DelayedTriggeredAbility;
|
||||||
|
@ -47,11 +48,9 @@ import mage.filter.common.FilterControlledLandPermanent;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HazezonTamarSandWarriorToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -110,7 +109,7 @@ class HazezonTamarEntersEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
Effect effect = new CreateTokenEffect(new HazezonTamarSandWarrior(), new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent()));
|
Effect effect = new CreateTokenEffect(new HazezonTamarSandWarriorToken(), new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent()));
|
||||||
effect.setText("create X 1/1 Sand Warrior creature tokens that are red, green, and white, where X is the number of lands you control at that time");
|
effect.setText("create X 1/1 Sand Warrior creature tokens that are red, green, and white, where X is the number of lands you control at that time");
|
||||||
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility(effect);
|
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility(effect);
|
||||||
game.addDelayedTriggeredAbility(delayedAbility, source);
|
game.addDelayedTriggeredAbility(delayedAbility, source);
|
||||||
|
@ -119,19 +118,3 @@ class HazezonTamarEntersEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HazezonTamarSandWarrior extends Token {
|
|
||||||
|
|
||||||
public HazezonTamarSandWarrior() {
|
|
||||||
super("Sand Warrior", "1/1 Sand Warrior creature tokens that are red, green, and white");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
color.setGreen(true);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Sand");
|
|
||||||
subtype.add("Warrior");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||||
|
@ -36,16 +36,13 @@ import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
|
||||||
import mage.abilities.mana.ColorlessManaAbility;
|
import mage.abilities.mana.ColorlessManaAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HellionHasteToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -65,7 +62,7 @@ public class HellionCrucible extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// {1}{R}, {tap}, Remove two pressure counters from Hellion Crucible and sacrifice it: Create a 4/4 red Hellion creature token with haste.
|
// {1}{R}, {tap}, Remove two pressure counters from Hellion Crucible and sacrifice it: Create a 4/4 red Hellion creature token with haste.
|
||||||
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HellionToken(), 1), new ManaCostsImpl("{1}{R}"));
|
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HellionHasteToken(), 1), new ManaCostsImpl("{1}{R}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addCost(new RemoveCountersSourceCost(CounterType.PRESSURE.createInstance(2)));
|
ability.addCost(new RemoveCountersSourceCost(CounterType.PRESSURE.createInstance(2)));
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
|
@ -81,15 +78,4 @@ public class HellionCrucible extends CardImpl {
|
||||||
return new HellionCrucible(this);
|
return new HellionCrucible(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class HellionToken extends Token {
|
|
||||||
public HellionToken() {
|
|
||||||
super("Hellion", "4/4 red Hellion creature token with haste");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Hellion");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
addAbility(HasteAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,8 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -37,10 +38,7 @@ import mage.constants.Outcome;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HellionToken;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -51,7 +49,6 @@ public class HellionEruption extends CardImpl {
|
||||||
public HellionEruption(UUID ownerId, CardSetInfo setInfo) {
|
public HellionEruption(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{R}");
|
||||||
|
|
||||||
|
|
||||||
// Sacrifice all creatures you control, then create that many 4/4 red Hellion creature tokens.
|
// Sacrifice all creatures you control, then create that many 4/4 red Hellion creature tokens.
|
||||||
this.getSpellAbility().addEffect(new HellionEruptionEffect());
|
this.getSpellAbility().addEffect(new HellionEruptionEffect());
|
||||||
}
|
}
|
||||||
|
@ -92,15 +89,4 @@ class HellionEruptionEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class HellionToken extends Token {
|
|
||||||
|
|
||||||
HellionToken() {
|
|
||||||
super("Hellion", "4/4 red Hellion creature token");
|
|
||||||
this.cardType.add(CardType.CREATURE);
|
|
||||||
this.color.setRed(true);
|
|
||||||
this.subtype.add("Hellion");
|
|
||||||
this.power = new MageInt(4);
|
|
||||||
this.toughness = new MageInt(4);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
|
@ -49,9 +49,7 @@ import mage.filter.common.FilterControlledArtifactPermanent;
|
||||||
import mage.filter.predicate.mageobject.NamePredicate;
|
import mage.filter.predicate.mageobject.NamePredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.KaldraToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -166,15 +164,3 @@ class HelmOfKaldraEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KaldraToken extends Token {
|
|
||||||
|
|
||||||
public KaldraToken() {
|
|
||||||
super("Kaldra", "legendary 4/4 colorless Avatar creature token named Kaldra");
|
|
||||||
addSuperType(SuperType.LEGENDARY);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
subtype.add("Avatar");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CamaridToken;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,16 +75,3 @@ public class HomaridSpawningBed extends CardImpl {
|
||||||
return new HomaridSpawningBed(this);
|
return new HomaridSpawningBed(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CamaridToken extends Token {
|
|
||||||
|
|
||||||
CamaridToken() {
|
|
||||||
super("Camarid", "1/1 blue Camarid creature tokens");
|
|
||||||
this.setOriginalExpansionSetCode("FEM");
|
|
||||||
this.getPower().modifyBaseValue(1);
|
|
||||||
this.getToughness().modifyBaseValue(1);
|
|
||||||
this.color.setBlue(true);
|
|
||||||
this.getSubtype(null).add("Camarid");
|
|
||||||
this.addCardType(CardType.CREATURE);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -28,7 +28,6 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.ActivateIfConditionActivatedAbility;
|
import mage.abilities.common.ActivateIfConditionActivatedAbility;
|
||||||
import mage.abilities.common.DrawCardControllerTriggeredAbility;
|
import mage.abilities.common.DrawCardControllerTriggeredAbility;
|
||||||
|
@ -37,13 +36,12 @@ import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.WhiteElementalToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -72,17 +70,3 @@ public class HoofprintsOfTheStag extends CardImpl {
|
||||||
return new HoofprintsOfTheStag(this);
|
return new HoofprintsOfTheStag(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class WhiteElementalToken extends Token {
|
|
||||||
|
|
||||||
WhiteElementalToken() {
|
|
||||||
super("Elemental", "4/4 white Elemental creature token with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Elemental");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
setTokenType(2);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -28,14 +28,12 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.PopulateEffect;
|
import mage.abilities.effects.common.PopulateEffect;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.constants.CardType;
|
||||||
|
import mage.game.permanent.token.RhinoToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -46,7 +44,6 @@ public class HorncallersChant extends CardImpl {
|
||||||
public HorncallersChant(UUID ownerId, CardSetInfo setInfo) {
|
public HorncallersChant(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{7}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{7}{G}");
|
||||||
|
|
||||||
|
|
||||||
// Create a 4/4 green Rhino creature token with trample, then populate.
|
// Create a 4/4 green Rhino creature token with trample, then populate.
|
||||||
// (Create a token that's a copy of a creature token you control.)
|
// (Create a token that's a copy of a creature token you control.)
|
||||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new RhinoToken()));
|
this.getSpellAbility().addEffect(new CreateTokenEffect(new RhinoToken()));
|
||||||
|
@ -62,16 +59,3 @@ public class HorncallersChant extends CardImpl {
|
||||||
return new HorncallersChant(this);
|
return new HorncallersChant(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RhinoToken extends Token {
|
|
||||||
|
|
||||||
public RhinoToken() {
|
|
||||||
super("Rhino", "4/4 green Rhino creature token with trample");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Rhino");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
addAbility(TrampleAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -33,16 +33,14 @@ import mage.abilities.Ability;
|
||||||
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
|
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
|
||||||
import mage.abilities.keyword.DefenderAbility;
|
import mage.abilities.keyword.DefenderAbility;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HornetNestInsectToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -102,19 +100,3 @@ class HornetNestDealDamageEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HornetNestInsectToken extends Token {
|
|
||||||
|
|
||||||
public HornetNestInsectToken() {
|
|
||||||
super("Insect", "1/1 green Insect creature tokens with flying and deathtouch");
|
|
||||||
setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Insect");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
this.addAbility(DeathtouchAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -31,12 +31,12 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
import mage.abilities.keyword.DeathtouchAbility;
|
||||||
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HornetQueenInsectToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -68,17 +68,3 @@ public class HornetQueen extends CardImpl {
|
||||||
return new HornetQueen(this);
|
return new HornetQueen(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class HornetQueenInsectToken extends Token {
|
|
||||||
|
|
||||||
public HornetQueenInsectToken() {
|
|
||||||
super("Insect", "1/1 green Insect creature token with flying and deathtouch");
|
|
||||||
setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Insect");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
addAbility(DeathtouchAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -28,11 +28,9 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.abilityword.StriveAbility;
|
import mage.abilities.abilityword.StriveAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -40,6 +38,7 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
import mage.game.permanent.token.HourOfNeedSphinxToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
@ -53,7 +52,6 @@ public class HourOfNeed extends CardImpl {
|
||||||
public HourOfNeed(UUID ownerId, CardSetInfo setInfo) {
|
public HourOfNeed(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}");
|
||||||
|
|
||||||
|
|
||||||
// Strive — Hour of Need costs {1}{U} more to cast for each target beyond the first.
|
// Strive — Hour of Need costs {1}{U} more to cast for each target beyond the first.
|
||||||
this.addAbility(new StriveAbility("{1}{U}"));
|
this.addAbility(new StriveAbility("{1}{U}"));
|
||||||
// Exile any number of target creatures. For each creature exiled this way, its controller creates a 4/4 blue Sphinx creature token with flying.
|
// Exile any number of target creatures. For each creature exiled this way, its controller creates a 4/4 blue Sphinx creature token with flying.
|
||||||
|
@ -104,17 +102,3 @@ class HourOfNeedExileEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HourOfNeedSphinxToken extends Token {
|
|
||||||
|
|
||||||
public HourOfNeedSphinxToken() {
|
|
||||||
super("Sphinx", "4/4 blue Sphinx creature token with flying");
|
|
||||||
this.setOriginalExpansionSetCode("JOU");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Sphinx");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -28,17 +28,16 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.constants.CardType;
|
||||||
|
import mage.game.permanent.token.HuntedDragonKnightToken;
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
@ -58,7 +57,7 @@ public class HuntedDragon extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
// When Hunted Dragon enters the battlefield, create three 2/2 white Knight creature tokens with first strike under target opponent's control.
|
// When Hunted Dragon enters the battlefield, create three 2/2 white Knight creature tokens with first strike under target opponent's control.
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new KnightToken(), 3), false);
|
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new HuntedDragonKnightToken(), 3), false);
|
||||||
Target target = new TargetOpponent();
|
Target target = new TargetOpponent();
|
||||||
ability.addTarget(target);
|
ability.addTarget(target);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
@ -73,16 +72,3 @@ public class HuntedDragon extends CardImpl {
|
||||||
return new HuntedDragon(this);
|
return new HuntedDragon(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KnightToken extends Token {
|
|
||||||
KnightToken() {
|
|
||||||
super("Knight", "2/2 white Knight creature tokens with first strike");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
|
|
||||||
subtype.add("Knight");
|
|
||||||
power = new MageInt(2);
|
|
||||||
toughness = new MageInt(2);
|
|
||||||
this.addAbility(FirstStrikeAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -28,18 +28,15 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.ObjectColor;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
import mage.abilities.keyword.ProtectionAbility;
|
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.constants.CardType;
|
||||||
|
import mage.game.permanent.token.HuntedCentaurToken;
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
@ -58,7 +55,7 @@ public class HuntedHorror extends CardImpl {
|
||||||
|
|
||||||
this.addAbility(TrampleAbility.getInstance());
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
// When Hunted Horror enters the battlefield, create two 3/3 green Centaur creature tokens with protection from black under target opponent's control.
|
// When Hunted Horror enters the battlefield, create two 3/3 green Centaur creature tokens with protection from black under target opponent's control.
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new CentaurToken(), 2), false);
|
Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new HuntedCentaurToken(), 2), false);
|
||||||
Target target = new TargetOpponent();
|
Target target = new TargetOpponent();
|
||||||
ability.addTarget(target);
|
ability.addTarget(target);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
@ -73,16 +70,3 @@ public class HuntedHorror extends CardImpl {
|
||||||
return new HuntedHorror(this);
|
return new HuntedHorror(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CentaurToken extends Token {
|
|
||||||
CentaurToken() {
|
|
||||||
super("Centaur", "3/3 green Centaur creature tokens with protection from black");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Centaur");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
this.addAbility(ProtectionAbility.from(ObjectColor.BLACK));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,6 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
@ -37,7 +35,8 @@ import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.constants.CardType;
|
||||||
|
import mage.game.permanent.token.HorrorToken;
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
@ -70,14 +69,3 @@ public class HuntedLammasu extends CardImpl {
|
||||||
return new HuntedLammasu(this);
|
return new HuntedLammasu(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HorrorToken extends Token {
|
|
||||||
HorrorToken() {
|
|
||||||
super("Horror", "4/4 black Horror creature token");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Horror");
|
|
||||||
power = new MageInt(4);
|
|
||||||
toughness = new MageInt(4);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -28,8 +28,6 @@
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
@ -37,12 +35,12 @@ import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.mana.ColoredManaCost;
|
import mage.abilities.costs.mana.ColoredManaCost;
|
||||||
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
import mage.abilities.effects.common.RegenerateSourceEffect;
|
import mage.abilities.effects.common.RegenerateSourceEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
import mage.constants.ColoredManaSymbol;
|
import mage.constants.ColoredManaSymbol;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.FaerieToken;
|
||||||
import mage.target.Target;
|
import mage.target.Target;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
||||||
|
@ -78,15 +76,3 @@ public class HuntedTroll extends CardImpl {
|
||||||
return new HuntedTroll(this);
|
return new HuntedTroll(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class FaerieToken extends Token {
|
|
||||||
FaerieToken() {
|
|
||||||
super("Faerie", "1/1 blue Faerie creature tokens with flying");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlue(true);
|
|
||||||
subtype.add("Faerie");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.HydraBroodmasterToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -97,17 +97,3 @@ class HydraBroodmasterEffect extends OneShotEffect {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HydraBroodmasterToken extends Token {
|
|
||||||
|
|
||||||
public HydraBroodmasterToken(int power, int toughness) {
|
|
||||||
super("Hydra", "green Hydra creature token");
|
|
||||||
this.setOriginalExpansionSetCode("JOU");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Hydra");
|
|
||||||
this.power = new MageInt(power);
|
|
||||||
this.toughness = new MageInt(toughness);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -28,17 +28,15 @@
|
||||||
package mage.cards.i;
|
package mage.cards.i;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.*;
|
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.*;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.MinionToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,15 +94,3 @@ class InfernalGenesisEffect extends OneShotEffect {
|
||||||
return new InfernalGenesisEffect(this);
|
return new InfernalGenesisEffect(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class MinionToken extends Token {
|
|
||||||
|
|
||||||
public MinionToken() {
|
|
||||||
super("Minion", "1/1 black Minion creature token");
|
|
||||||
color.setBlack(true);
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
this.subtype.add("Minion");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -35,12 +35,11 @@ import mage.abilities.condition.common.HateCondition;
|
||||||
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.RoyalGuardToken;
|
||||||
import mage.watchers.common.LifeLossOtherFromCombatWatcher;
|
import mage.watchers.common.LifeLossOtherFromCombatWatcher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,15 +70,3 @@ public class IronFistOfTheEmpire extends CardImpl {
|
||||||
return new IronFistOfTheEmpire(this);
|
return new IronFistOfTheEmpire(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RoyalGuardToken extends Token {
|
|
||||||
|
|
||||||
public RoyalGuardToken() {
|
|
||||||
super("Royal Guard", "2/2 red Soldier creature token with first strike named Royal Guard", 2, 2);
|
|
||||||
this.setOriginalExpansionSetCode("SWS");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
addAbility(FirstStrikeAbility.getInstance());
|
|
||||||
subtype.add("Soldier");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.j;
|
package mage.cards.j;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||||
|
@ -48,13 +50,12 @@ import mage.filter.common.FilterOpponentsCreaturePermanent;
|
||||||
import mage.filter.predicate.permanent.CounterPredicate;
|
import mage.filter.predicate.permanent.CounterPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
import mage.game.permanent.token.HunterToken;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.Token;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.common.TargetOpponentsCreaturePermanent;
|
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Styxo
|
* @author Styxo
|
||||||
|
@ -100,16 +101,6 @@ public class JabbaTheHutt extends CardImpl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HunterToken extends Token {
|
|
||||||
|
|
||||||
public HunterToken() {
|
|
||||||
super("Hunter", "4/4 red Hunter creature token", 4, 4);
|
|
||||||
this.setOriginalExpansionSetCode("SWS");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Hunter");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class JabbaTheHuttEffect extends OneShotEffect {
|
class JabbaTheHuttEffect extends OneShotEffect {
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.j;
|
package mage.cards.j;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AttacksOrBlocksTriggeredAbility;
|
import mage.abilities.common.AttacksOrBlocksTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
@ -35,9 +36,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.CatWarriorToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -69,18 +68,3 @@ public class JeditOjanenOfEfrava extends CardImpl {
|
||||||
return new JeditOjanenOfEfrava(this);
|
return new JeditOjanenOfEfrava(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CatWarriorToken extends Token {
|
|
||||||
|
|
||||||
CatWarriorToken() {
|
|
||||||
super("Cat Warrior", "2/2 green Cat Warrior creature token with forestwalk");
|
|
||||||
this.setOriginalExpansionSetCode("PLC");
|
|
||||||
this.getPower().modifyBaseValue(2);
|
|
||||||
this.getToughness().modifyBaseValue(2);
|
|
||||||
this.color.setGreen(true);
|
|
||||||
this.getSubtype(null).add("Cat");
|
|
||||||
this.getSubtype(null).add("Warrior");
|
|
||||||
this.addCardType(CardType.CREATURE);
|
|
||||||
this.addAbility(new ForestwalkAbility());
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -25,16 +25,14 @@
|
||||||
* authors and should not be interpreted as representing official policies, either expressed
|
* authors and should not be interpreted as representing official policies, either expressed
|
||||||
* or implied, of BetaSteward_at_googlemail.com.
|
* or implied, of BetaSteward_at_googlemail.com.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package mage.cards.j;
|
package mage.cards.j;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.JoinTheRanksSoldierToken;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -60,17 +58,3 @@ public class JoinTheRanks extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
class JoinTheRanksSoldierToken extends Token {
|
|
||||||
|
|
||||||
public JoinTheRanksSoldierToken() {
|
|
||||||
super("Soldier Ally", "1/1 white Soldier Ally creature token");
|
|
||||||
this.setOriginalExpansionSetCode("WWK");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setWhite(true);
|
|
||||||
subtype.add("Soldier");
|
|
||||||
subtype.add("Ally");
|
|
||||||
power = new MageInt(1);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -37,7 +37,6 @@ import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.BasicManaEffect;
|
import mage.abilities.effects.common.BasicManaEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.DefenderAbility;
|
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -45,7 +44,7 @@ import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.NamePredicate;
|
import mage.filter.predicate.mageobject.NamePredicate;
|
||||||
import mage.filter.predicate.permanent.TokenPredicate;
|
import mage.filter.predicate.permanent.TokenPredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.WoodToken;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
import mage.target.common.TargetControlledPermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -88,18 +87,3 @@ public class JunglePatrol extends CardImpl {
|
||||||
return new JunglePatrol(this);
|
return new JunglePatrol(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class WoodToken extends Token {
|
|
||||||
|
|
||||||
public WoodToken() {
|
|
||||||
super("Wood", "0/1 green Wall creature token with defender named Wood");
|
|
||||||
this.setOriginalExpansionSetCode("MIR");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Wall");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
|
|
||||||
this.addAbility(DefenderAbility.getInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -42,11 +43,9 @@ import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.KalitasVampireToken;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
|
@ -98,19 +97,9 @@ class KalitasDestroyEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||||
if (permanent != null && permanent.destroy(source.getSourceId(), game, false)) { // if not destroyed or moved to other zone (replacement effect) it returns false
|
if (permanent != null && permanent.destroy(source.getSourceId(), game, false)) { // if not destroyed or moved to other zone (replacement effect) it returns false
|
||||||
new CreateTokenEffect(new VampireToken(permanent.getPower().getValue(), permanent.getToughness().getValue())).apply(game, source);
|
new CreateTokenEffect(new KalitasVampireToken(permanent.getPower().getValue(), permanent.getToughness().getValue())).apply(game, source);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class VampireToken extends Token {
|
|
||||||
public VampireToken(int tokenPower, int tokenToughness) {
|
|
||||||
super("Vampire", new StringBuilder(tokenPower).append('/').append(tokenToughness).append(" black Vampire creature token").toString());
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setBlack(true);
|
|
||||||
subtype.add("Vampire");
|
|
||||||
power = new MageInt(tokenPower);
|
|
||||||
toughness = new MageInt(tokenToughness);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,8 +42,7 @@ import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.SubtypePredicate;
|
import mage.filter.predicate.mageobject.SubtypePredicate;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.KalonianTwingroveTreefolkWarriorToken;
|
||||||
|
|
||||||
import static mage.cards.k.KalonianTwingrove.filterLands;
|
import static mage.cards.k.KalonianTwingrove.filterLands;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,19 +82,3 @@ public class KalonianTwingrove extends CardImpl {
|
||||||
return new KalonianTwingrove(this);
|
return new KalonianTwingrove(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KalonianTwingroveTreefolkWarriorToken extends Token {
|
|
||||||
|
|
||||||
public KalonianTwingroveTreefolkWarriorToken() {
|
|
||||||
super("Treefolk Warrior", "green Treefolk Warrior creature token with \"This creature's power and toughness are each equal to the number of Forests you control.\"");
|
|
||||||
this.setOriginalExpansionSetCode("M15");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setGreen(true);
|
|
||||||
subtype.add("Treefolk");
|
|
||||||
subtype.add("Warrior");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(0);
|
|
||||||
|
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(filterLands), Duration.WhileOnBattlefield)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.RagavanToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -106,17 +106,3 @@ class KariZevSkyshipRaiderEffect extends OneShotEffect {
|
||||||
return new KariZevSkyshipRaiderEffect(this);
|
return new KariZevSkyshipRaiderEffect(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RagavanToken extends Token {
|
|
||||||
|
|
||||||
RagavanToken() {
|
|
||||||
super("Ragavan", "legendary 2/1 red Monkey creature token named Ragavan");
|
|
||||||
this.setOriginalExpansionSetCode("AER");
|
|
||||||
this.addSuperType(SuperType.LEGENDARY);
|
|
||||||
this.getPower().modifyBaseValue(2);
|
|
||||||
this.getToughness().modifyBaseValue(1);
|
|
||||||
this.color.setRed(true);
|
|
||||||
this.getSubtype(null).add("Monkey");
|
|
||||||
this.addCardType(CardType.CREATURE);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -27,6 +27,8 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
|
@ -40,16 +42,13 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
|
||||||
import mage.game.events.GameEvent.EventType;
|
import mage.game.events.GameEvent.EventType;
|
||||||
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.OgreToken;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
|
@ -149,15 +148,3 @@ class KazuulTyrantOfTheCliffsEffect extends OneShotEffect {
|
||||||
return new KazuulTyrantOfTheCliffsEffect(this);
|
return new KazuulTyrantOfTheCliffsEffect(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class OgreToken extends Token {
|
|
||||||
|
|
||||||
OgreToken() {
|
|
||||||
super("Ogre", "3/3 red Ogre creature");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Ogre");
|
|
||||||
power = new MageInt(3);
|
|
||||||
toughness = new MageInt(3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.cards.k;
|
package mage.cards.k;
|
||||||
|
|
||||||
import mage.MageInt;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
@ -39,9 +39,7 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
import mage.game.permanent.token.Token;
|
import mage.game.permanent.token.KherKeepKoboldToken;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -70,16 +68,3 @@ public class KherKeep extends CardImpl {
|
||||||
return new KherKeep(this);
|
return new KherKeep(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KherKeepKoboldToken extends Token {
|
|
||||||
|
|
||||||
public KherKeepKoboldToken() {
|
|
||||||
super("Kobolds of Kher Keep", "0/1 red Kobold creature token named Kobolds of Kher Keep");
|
|
||||||
cardType.add(CardType.CREATURE);
|
|
||||||
color.setRed(true);
|
|
||||||
subtype.add("Kobold");
|
|
||||||
power = new MageInt(0);
|
|
||||||
toughness = new MageInt(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -75,16 +75,3 @@ public class KingMacarTheGoldCursed extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//class GoldToken extends Token {
|
|
||||||
//
|
|
||||||
// public GoldToken() {
|
|
||||||
// super("Gold", "colorless artifact token named Gold. It has \"Sacrifice this artifact: Add one mana of any color to your mana pool.\"");
|
|
||||||
// this.setOriginalExpansionSetCode("BNG");
|
|
||||||
// cardType.add(CardType.ARTIFACT);
|
|
||||||
// subtype.add("Gold");
|
|
||||||
//
|
|
||||||
// Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(), new SacrificeSourceCost());
|
|
||||||
// ability.addChoice(new ChoiceColor());
|
|
||||||
// this.addAbility(ability);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue