mirror of
https://github.com/correl/mage.git
synced 2024-11-14 19:19:32 +00:00
[AFR] Implemented Death-Priest of Myrkul
This commit is contained in:
parent
83d91ded27
commit
5b1a38b426
10 changed files with 114 additions and 47 deletions
|
@ -139,7 +139,7 @@
|
|||
|Generate|TOK:10E|Goblin|||GoblinToken|
|
||||
|Generate|TOK:10E|Insect|||WaspToken|
|
||||
|Generate|TOK:10E|Saproling|||SaprolingToken|
|
||||
|Generate|TOK:10E|Skeleton|||SkeletonToken|
|
||||
|Generate|TOK:10E|Skeleton|||SkeletonRegenerateToken|
|
||||
|Generate|TOK:10E|Soldier|||SoldierToken|
|
||||
|Generate|TOK:10E|Zombie|||ZombieToken|
|
||||
|Generate|TOK:2ED|Insect|||WaspToken|
|
||||
|
@ -211,7 +211,7 @@
|
|||
|Generate|TOK:ALA|Homunculus|||HomunculusToken|
|
||||
|Generate|TOK:ALA|Ooze|||MysticGenesisOozeToken|
|
||||
|Generate|TOK:ALA|Saproling|||SaprolingToken|
|
||||
|Generate|TOK:ALA|Skeleton|||SkeletonToken|
|
||||
|Generate|TOK:ALA|Skeleton|||SkeletonRegenerateToken|
|
||||
|Generate|TOK:ALA|Soldier|||SoldierToken|
|
||||
|Generate|TOK:ALA|Thopter|||ThopterToken|
|
||||
|Generate|TOK:ALA|Zombie|||ZombieToken|
|
||||
|
@ -700,7 +700,7 @@
|
|||
|Generate|TOK:H17|Dragon|||DragonTokenGold|
|
||||
|Generate|TOK:HML|Plant Wall|||KelpToken|
|
||||
|Generate|TOK:HML|Serf|||SerfToken|
|
||||
|Generate|TOK:HML|Skeleton|||SkeletonToken|
|
||||
|Generate|TOK:HML|Skeleton|||SkeletonRegenerateToken|
|
||||
|Generate|TOK:HOP|Goblin|||GoblinToken|
|
||||
|Generate|TOK:HOP|Insect|||InsectToken|
|
||||
|Generate|TOK:HOP|Pentavite|||PentaviteToken|
|
||||
|
@ -1157,7 +1157,7 @@
|
|||
|Generate|TOK:TSP|Wurm|||WurmCallingWurmToken|
|
||||
|Generate|TOK:UDS|Goblin|||GoblinToken|
|
||||
|Generate|TOK:ULG|Ape|||PongifyApeToken|
|
||||
|Generate|TOK:ULG|Skeleton|||SkeletonToken|
|
||||
|Generate|TOK:ULG|Skeleton|||SkeletonRegenerateToken|
|
||||
|Generate|TOK:ULG|Squirrel|||SquirrelToken|
|
||||
|Generate|TOK:UNH|Ape|||PongifyApeToken|
|
||||
|Generate|TOK:UNH|Goblin|||GoblinToken|
|
||||
|
|
66
Mage.Sets/src/mage/cards/d/DeathPriestOfMyrkul.java
Normal file
66
Mage.Sets/src/mage/cards/d/DeathPriestOfMyrkul.java
Normal file
|
@ -0,0 +1,66 @@
|
|||
package mage.cards.d;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.CompletedDungeonCondition;
|
||||
import mage.abilities.costs.mana.GenericManaCost;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.watchers.common.CompletedDungeonWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class DeathPriestOfMyrkul extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter
|
||||
= new FilterCreaturePermanent("Skeletons, Vampires, and Zombies");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
SubType.SKELETON.getPredicate(),
|
||||
SubType.VAMPIRE.getPredicate(),
|
||||
SubType.ZOMBIE.getPredicate()
|
||||
));
|
||||
}
|
||||
|
||||
public DeathPriestOfMyrkul(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}");
|
||||
|
||||
this.subtype.add(SubType.TIEFLING);
|
||||
this.subtype.add(SubType.CLERIC);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
// Skeletons, Vampires, and Zombies you control get +1/+1.
|
||||
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(
|
||||
1, 1, Duration.WhileOnBattlefield, filter, false
|
||||
)));
|
||||
|
||||
// At the beginning of your end step, if a creature died this turn, you may pay {1}. If you do, create a 1/1 black Skeleton creature token.
|
||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new DoIfCostPaid(new CreateTokenEffect(new SkeletonToken()), new GenericManaCost(1)),
|
||||
TargetController.YOU, CompletedDungeonCondition.instance, false
|
||||
).addHint(CompletedDungeonCondition.getHint()), new CompletedDungeonWatcher());
|
||||
}
|
||||
|
||||
private DeathPriestOfMyrkul(final DeathPriestOfMyrkul card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeathPriestOfMyrkul copy() {
|
||||
return new DeathPriestOfMyrkul(this);
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@ import mage.constants.Zone;
|
|||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.filter.predicate.permanent.TokenPredicate;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.game.permanent.token.SkeletonRegenerateToken;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
|
||||
/**
|
||||
|
@ -38,7 +38,7 @@ public final class DrudgeSpell extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}");
|
||||
|
||||
// {B}, Exile two creature cards from your graveyard: Create a 1/1 black Skeleton creature token. It has "{B}: Regenerate this creature."
|
||||
Effect effect = new CreateTokenEffect(new SkeletonToken());
|
||||
Effect effect = new CreateTokenEffect(new SkeletonRegenerateToken());
|
||||
effect.setText("create a 1/1 black Skeleton creature token. It has \"{B}: Regenerate this creature.\"");
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{B}"));
|
||||
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2, 2, new FilterCreatureCard("creature cards from your graveyard"))));
|
||||
|
|
|
@ -16,7 +16,7 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.game.permanent.token.SkeletonRegenerateToken;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.watchers.common.DamagedByWatcher;
|
||||
|
||||
|
@ -74,7 +74,7 @@ class SkeletonizeEffect extends OneShotEffect {
|
|||
class SkeletonizeDelayedTriggeredAbility extends DelayedTriggeredAbility {
|
||||
|
||||
public SkeletonizeDelayedTriggeredAbility() {
|
||||
super(new CreateTokenEffect(new SkeletonToken()), Duration.EndOfTurn);
|
||||
super(new CreateTokenEffect(new SkeletonRegenerateToken()), Duration.EndOfTurn);
|
||||
}
|
||||
|
||||
public SkeletonizeDelayedTriggeredAbility(final SkeletonizeDelayedTriggeredAbility ability) {
|
||||
|
|
|
@ -10,7 +10,7 @@ import mage.abilities.mana.BlackManaAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.game.permanent.token.SkeletonRegenerateToken;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -22,7 +22,7 @@ public final class SpawningPool extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
|
||||
this.addAbility(new EntersBattlefieldTappedAbility());
|
||||
this.addAbility(new BlackManaAbility());
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SkeletonToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{B}")));
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SkeletonRegenerateToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{B}")));
|
||||
}
|
||||
|
||||
private SpawningPool(final SpawningPool card) {
|
||||
|
|
|
@ -47,6 +47,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Cloister Gargoyle", 7, Rarity.UNCOMMON, mage.cards.c.CloisterGargoyle.class));
|
||||
cards.add(new SetCardInfo("Contact Other Plane", 52, Rarity.COMMON, mage.cards.c.ContactOtherPlane.class));
|
||||
cards.add(new SetCardInfo("Dawnbringer Cleric", 9, Rarity.COMMON, mage.cards.d.DawnbringerCleric.class));
|
||||
cards.add(new SetCardInfo("Death-Priest of Myrkul", 95, Rarity.UNCOMMON, mage.cards.d.DeathPriestOfMyrkul.class));
|
||||
cards.add(new SetCardInfo("Delver's Torch", 10, Rarity.COMMON, mage.cards.d.DelversTorch.class));
|
||||
cards.add(new SetCardInfo("Demogorgon's Clutches", 96, Rarity.UNCOMMON, mage.cards.d.DemogorgonsClutches.class));
|
||||
cards.add(new SetCardInfo("Den of the Bugbear", 254, Rarity.RARE, mage.cards.d.DenOfTheBugbear.class));
|
||||
|
|
|
@ -17,7 +17,7 @@ import mage.filter.StaticFilters;
|
|||
import mage.game.Game;
|
||||
import mage.game.command.Dungeon;
|
||||
import mage.game.command.DungeonRoom;
|
||||
import mage.game.permanent.token.SkeletonToken2;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.game.permanent.token.TreasureToken;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCardInHand;
|
||||
|
@ -55,7 +55,7 @@ public class DungeonOfTheMadMage extends Dungeon {
|
|||
|
||||
// (5b) Muiral's Graveyard — Create two 1/1 black Skeleton creature tokens. (→ 6)
|
||||
DungeonRoom muiralsGraveyard = new DungeonRoom(
|
||||
"Muiral's Graveyard", new CreateTokenEffect(new SkeletonToken2(), 2)
|
||||
"Muiral's Graveyard", new CreateTokenEffect(new SkeletonToken(), 2)
|
||||
);
|
||||
|
||||
// (6) Deep Mines — Scry 3. (→ 7)
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ColoredManaCost;
|
||||
import mage.abilities.effects.common.RegenerateSourceEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
|
||||
public final class SkeletonRegenerateToken extends TokenImpl {
|
||||
|
||||
public SkeletonRegenerateToken() {
|
||||
super("Skeleton", "1/1 black Skeleton creature token with \"{B}: Regenerate this creature\"");
|
||||
cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.SKELETON);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B)));
|
||||
}
|
||||
|
||||
public SkeletonRegenerateToken(final SkeletonRegenerateToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SkeletonRegenerateToken copy() {
|
||||
return new SkeletonRegenerateToken(this);
|
||||
}
|
||||
}
|
|
@ -1,24 +1,21 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ColoredManaCost;
|
||||
import mage.abilities.effects.common.RegenerateSourceEffect;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.ColoredManaSymbol;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SkeletonToken extends TokenImpl {
|
||||
|
||||
public SkeletonToken() {
|
||||
super("Skeleton", "1/1 black Skeleton creature token with \"{B}: Regenerate this creature\"");
|
||||
super("Skeleton", "1/1 black Skeleton creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.SKELETON);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ColoredManaCost(ColoredManaSymbol.B)));
|
||||
}
|
||||
|
||||
public SkeletonToken(final SkeletonToken token) {
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SkeletonToken2 extends TokenImpl {
|
||||
|
||||
public SkeletonToken2() {
|
||||
super("Skeleton", "1/1 black Skeleton creature token");
|
||||
cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.SKELETON);
|
||||
color.setBlack(true);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
|
||||
public SkeletonToken2(final SkeletonToken2 token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SkeletonToken2 copy() {
|
||||
return new SkeletonToken2(this);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue