more cards 5 (#1517)
* Add more new cards after playtesting (credit goes to Kelsioboy): Akuta, Born of Ash Dark Dabbling Defiling Tears Doorkeeper Dragon Grip Explorer's Scope Gigapede Guul Draz Overseer Into the Wilds Salt Road Ambushers Tainted Remedy Terrifying Presence Thrasios, Triton Hero Trail of Mystery Yomiji, Who Bars the Way * Cleanup: Remove trailing whitespace from scripts * Fix all HTTP to HTTPS for magiccards.infomaster
parent
e5ebff99b1
commit
5ce8792d61
|
@ -1,5 +1,5 @@
|
|||
name=Frantic Search
|
||||
image=http://magiccards.info/scans/en/vma/70.jpg
|
||||
image=https://magiccards.info/scans/en/vma/70.jpg
|
||||
value=2.500
|
||||
rarity=C
|
||||
type=Instant
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Great Whale
|
||||
image=http://magiccards.info/scans/en/us/77.jpg
|
||||
image=https://magiccards.info/scans/en/us/77.jpg
|
||||
value=2.500
|
||||
rarity=R
|
||||
type=Creature
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Palinchron
|
||||
image=http://magiccards.info/scans/en/vma/86.jpg
|
||||
image=https://magiccards.info/scans/en/vma/86.jpg
|
||||
value=2.500
|
||||
rarity=R
|
||||
type=Creature
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Peregrine Drake
|
||||
image=http://magiccards.info/scans/en/pc2/22.jpg
|
||||
image=https://magiccards.info/scans/en/pc2/22.jpg
|
||||
value=2.500
|
||||
rarity=U
|
||||
type=Creature
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Reaper King
|
||||
url=http://magiccards.info/shm/en/260.html
|
||||
url=https://magiccards.info/shm/en/260.html
|
||||
image=http://mtgimage.com/card/reaper%20king.jpg
|
||||
value=4.162
|
||||
rarity=R
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Rewind
|
||||
image=http://magiccards.info/scans/en/m13/65.jpg
|
||||
image=https://magiccards.info/scans/en/m13/65.jpg
|
||||
value=2.500
|
||||
rarity=U
|
||||
type=Instant
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Snap
|
||||
image=http://magiccards.info/scans/en/ul/43.jpg
|
||||
image=https://magiccards.info/scans/en/ul/43.jpg
|
||||
value=2.500
|
||||
rarity=C
|
||||
type=Instant
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Time Spiral
|
||||
image=http://magiccards.info/scans/en/us/103.jpg
|
||||
image=https://magiccards.info/scans/en/us/103.jpg
|
||||
value=2.500
|
||||
rarity=R
|
||||
type=Sorcery
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name=Ulamog, the Ceaseless Hunger
|
||||
image=http://magiccards.info/scans/en/bfz/15.jpg
|
||||
image=https://magiccards.info/scans/en/bfz/15.jpg
|
||||
image_updated=2015-11-08
|
||||
value=2.500
|
||||
rarity=M
|
||||
|
|
|
@ -7,7 +7,6 @@ subtype=Spirit
|
|||
cost={2}{B}{B}
|
||||
pt=3/2
|
||||
ability=Haste;\
|
||||
At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return SN from your graveyard to the battlefield.
|
||||
Sacrifice a Swamp: Return SN from your graveyard to the battlefield. Activate this ability only during your upkeep and only if you have more cards in hand than each opponent.
|
||||
timing=fmain
|
||||
oracle=Haste\nAt the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the battlefield.
|
||||
status=not supported: trigger-from-graveyard
|
|
@ -5,7 +5,6 @@ value=2.500
|
|||
rarity=C
|
||||
type=Instant
|
||||
cost={2}{B}
|
||||
effect=Regenerate target creature. Draw a card.~If there are two or more instant and/or sorcery cards in your graveyard, also regenerate each other creature you control.
|
||||
effect=Regenerate target creature.~Draw a card.~If there are two or more instant and/or sorcery cards in your graveyard, regenerate each other creature you control.
|
||||
timing=removal
|
||||
oracle=Regenerate target creature. Draw a card.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, also regenerate each other creature you control.
|
||||
status=needs groovy
|
|
@ -4,8 +4,7 @@ value=1.797
|
|||
rarity=U
|
||||
type=Instant
|
||||
cost={2}{B}
|
||||
effect=Until end of turn, target creature becomes black, gets +1/-1, and gains "{B}: Regenerate this creature."
|
||||
effect=Until end of turn, target creature becomes black and gains "{B}: Regenerate this creature."~*It* gets +1/-1 until end of turn.
|
||||
timing=removal
|
||||
oracle=Until end of turn, target creature becomes black, gets +1/-1, and gains "{B}: Regenerate this creature."
|
||||
status=needs groovy
|
||||
# AI target-type problem, weakness, pump, removal, regenerate?
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
def CREATURE_WITH_DEFENDER_YOU_CONTROL = new MagicPermanentFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicPermanent target) {
|
||||
return target.isCreature() && target.hasAbility(MagicAbility.Defender) == true
|
||||
}
|
||||
};
|
||||
|
||||
[
|
||||
new MagicPermanentActivation(
|
||||
new MagicActivationHints(MagicTiming.Pump),
|
||||
"Mill"
|
||||
) {
|
||||
@Override
|
||||
public Iterable<? extends MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicTapEvent(source),
|
||||
new MagicPayManaCostEvent(source, "{2}{U}")
|
||||
];
|
||||
}
|
||||
@Override
|
||||
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
source,
|
||||
TARGET_PLAYER,
|
||||
this,
|
||||
"Target player\$ puts the top X cards from his or her library into his or her graveyard, "+
|
||||
"where X is the number of creatures with defender PN control."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
final MagicPlayer player = event.getPlayer()
|
||||
final int amount = event.getPlayer().getNrOfPermanents(CREATURE_WITH_DEFENDER_YOU_CONTROL);
|
||||
game.logAppendX(event.getPlayer(), amount);
|
||||
game.doAction(new MillLibraryAction(it, amount));
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,12 @@
|
|||
name=Doorkeeper
|
||||
image=https://magiccards.info/scans/en/rtr/37.jpg
|
||||
value=2.878
|
||||
rarity=C
|
||||
type=Creature
|
||||
subtype=Homunculus
|
||||
cost={1}{U}
|
||||
pt=0/4
|
||||
ability=Defender
|
||||
timing=smain
|
||||
oracle=Defender\n{2}{U}, {T}: Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of creatures with defender you control.
|
||||
requires_groovy_code
|
|
@ -0,0 +1,20 @@
|
|||
def CREATURE_POWER_4_OR_MORE_CONDITION = new MagicCondition() {
|
||||
public boolean accept(final MagicSource source) {
|
||||
return source.getController().controlsPermanent(CREATURE_POWER_4_OR_MORE);
|
||||
}
|
||||
};
|
||||
|
||||
[
|
||||
new MagicHandCastActivation(
|
||||
[CREATURE_POWER_4_OR_MORE_CONDITION, MagicCondition.NOT_SORCERY_CONDITION],
|
||||
new MagicActivationHints(MagicTiming.Pump,true),
|
||||
"Flash"
|
||||
) {
|
||||
@Override
|
||||
public Iterable<? extends MagicEvent> getCostEvent(final MagicCard source) {
|
||||
return [
|
||||
MagicPayManaCostEvent.Cast(source, "{2}{R}")
|
||||
];
|
||||
}
|
||||
}
|
||||
]
|
|
@ -5,10 +5,9 @@ rarity=U
|
|||
type=Enchantment
|
||||
subtype=Aura
|
||||
cost={2}{R}
|
||||
ability=If you control a creature with power 4 or greater, you may cast SN as though it had flash.;\
|
||||
Enchant creature;\
|
||||
ability=Enchant creature;\
|
||||
Enchanted creature gets +2/+0 and has first strike.
|
||||
timing=aura
|
||||
enchant=default,creature
|
||||
enchant=default,pos creature
|
||||
oracle=Ferocious — If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash.\nEnchant creature\nEnchanted creature gets +2/+0 and has first strike.
|
||||
status=needs groovy
|
||||
requires_groovy_code
|
|
@ -0,0 +1,48 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
if (event.isYes()) {
|
||||
final MagicCard card = event.getRefCard();
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
game.doAction(new ReturnCardAction(MagicLocationType.OwnersLibrary, card, event.getPlayer(), MagicPlayMod.TAPPED));
|
||||
game.logAppendMessage(player, "${player} puts (${card}) it onto the battlefield tapped.")
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
new AttacksTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
|
||||
final MagicPermanent equippedCreature=permanent.getEquippedCreature();
|
||||
return (equippedCreature.isValid() && equippedCreature==creature) ?
|
||||
new MagicEvent(
|
||||
equippedCreature,
|
||||
this,
|
||||
"PN looks at the top card of his or her library. If it's a land card, "+
|
||||
"PN may put it onto the battlefield tapped."
|
||||
):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
final MagicCardList cards = player.getLibrary().getCardsFromTop(1);
|
||||
for (final MagicCard card : cards) {
|
||||
game.doAction(new LookAction(card, player, "top card of your library"));
|
||||
if (card.hasType(MagicType.Land)) {
|
||||
game.addEvent(new MagicEvent(
|
||||
event.getSource(),
|
||||
new MagicSimpleMayChoice(
|
||||
MagicSimpleMayChoice.DRAW_CARDS,
|
||||
1,
|
||||
MagicSimpleMayChoice.DEFAULT_YES
|
||||
),
|
||||
card,
|
||||
action,
|
||||
"\$"
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -5,8 +5,7 @@ rarity=U
|
|||
type=Artifact
|
||||
subtype=Equipment
|
||||
cost={1}
|
||||
ability=Whenever equipped creature attacks, look at the top card of your library. If it's a land card, you may put it onto the battlefield tapped.;\
|
||||
Equip {1}
|
||||
ability=Equip {1}
|
||||
timing=equipment
|
||||
oracle=Whenever equipped creature attacks, look at the top card of your library. If it's a land card, you may put it onto the battlefield tapped.\nEquip {1}
|
||||
status=needs groovy
|
||||
requires_groovy_code
|
|
@ -7,7 +7,6 @@ subtype=Insect
|
|||
cost={3}{G}{G}
|
||||
pt=6/1
|
||||
ability=Shroud;\
|
||||
At the beginning of your upkeep, if SN is in your graveyard, you may discard a card. If you do, return SN to your hand.
|
||||
Discard a card: Return SN from your graveyard to your hand. Activate this ability only during your upkeep.
|
||||
timing=main
|
||||
oracle=Shroud\nAt the beginning of your upkeep, if Gigapede is in your graveyard, you may discard a card. If you do, return Gigapede to your hand.
|
||||
status=not supported: trigger-from-graveyard
|
|
@ -0,0 +1,24 @@
|
|||
[
|
||||
new OtherEntersBattlefieldTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
|
||||
final int amount = otherPermanent.hasSubType(MagicSubType.Swamp) ? 2 : 1;
|
||||
return (otherPermanent.isLand() && otherPermanent.isFriend(permanent)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
amount,
|
||||
this,
|
||||
"Other creatures PN control get +RN/+0 until end of turn."
|
||||
) :
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final int amount = event.getRefInt();
|
||||
CREATURE_YOU_CONTROL.except(event.getPermanent()).filter(event) each {
|
||||
game.doAction(new ChangeTurnPTAction(it,amount,0));
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -7,8 +7,7 @@ type=Creature
|
|||
subtype=Vampire
|
||||
cost={4}{B}{B}
|
||||
pt=3/4
|
||||
ability=Flying;\
|
||||
Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead.
|
||||
ability=Flying
|
||||
timing=main
|
||||
requires_groovy_code
|
||||
oracle=Flying\nLandfall — Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead.
|
||||
status=needs groovy
|
|
@ -0,0 +1,45 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
if (event.isYes()) {
|
||||
final MagicCard card = event.getRefCard();
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
game.doAction(new ReturnCardAction(MagicLocationType.OwnersLibrary, card, event.getPlayer()));
|
||||
game.logAppendMessage(player, "${player} puts (${card}) it onto the battlefield.")
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
new AtYourUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
"PN looks at the top card of his or her library. If it's a land card, "+
|
||||
"PN may put it onto the battlefield."
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
final MagicCardList cards = player.getLibrary().getCardsFromTop(1);
|
||||
for (final MagicCard card : cards) {
|
||||
game.doAction(new LookAction(card, player, "top card of your library"));
|
||||
if (card.hasType(MagicType.Land)) {
|
||||
game.addEvent(new MagicEvent(
|
||||
event.getSource(),
|
||||
new MagicSimpleMayChoice(
|
||||
MagicSimpleMayChoice.DRAW_CARDS,
|
||||
1,
|
||||
MagicSimpleMayChoice.DEFAULT_YES
|
||||
),
|
||||
card,
|
||||
action,
|
||||
"\$"
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -4,7 +4,6 @@ value=3.598
|
|||
rarity=R
|
||||
type=Enchantment
|
||||
cost={3}{G}
|
||||
ability=At the beginning of your upkeep, look at the top card of your library. If it's a land card, you may put it onto the battlefield.
|
||||
timing=enchantment
|
||||
oracle=At the beginning of your upkeep, look at the top card of your library. If it's a land card, you may put it onto the battlefield.
|
||||
status=needs groovy
|
||||
requires_groovy_code
|
|
@ -8,7 +8,6 @@
|
|||
return [
|
||||
new MagicTapEvent(source),
|
||||
new MagicPayManaCostEvent(source, "{5}")
|
||||
|
||||
];
|
||||
}
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
[
|
||||
new TurnedFaceUpTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
|
||||
return (permanent != otherPermanent && otherPermanent.isFriend(permanent) && otherPermanent.hasType(MagicType.Creature)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
otherPermanent,
|
||||
this,
|
||||
"PN puts two +1/+1 counters on RN."
|
||||
):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getRefPermanent(),MagicCounterType.PlusOne,2));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -6,8 +6,7 @@ type=Creature
|
|||
subtype=Hound,Warrior
|
||||
cost={3}{G}
|
||||
pt=3/3
|
||||
ability=Whenever another permanent you control is turned face up, if it's a creature, put two +1/+1 counters on it.;\
|
||||
Megamorph {3}{G}{G}
|
||||
ability=Megamorph {3}{G}{G}
|
||||
timing=main
|
||||
requires_groovy_code
|
||||
oracle=Whenever another permanent you control is turned face up, if it's a creature, put two +1/+1 counters on it.\nMegamorph {3}{G}{G}
|
||||
status=needs groovy
|
|
@ -0,0 +1,25 @@
|
|||
[
|
||||
new IfLifeWouldChangeTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final ChangeLifeAction act) {
|
||||
int amount = 0;
|
||||
if (permanent.isOpponent(act.getPlayer()) && act.getLifeChange() > 0) {
|
||||
amount = act.getLifeChange();
|
||||
act.setLifeChange(0);
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
act.player,
|
||||
amount,
|
||||
this,
|
||||
"PN loses RN Life."
|
||||
);
|
||||
} else {
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeLifeAction(event.getPlayer(),-event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -5,7 +5,6 @@ value=2.500
|
|||
rarity=R
|
||||
type=Enchantment
|
||||
cost={2}{B}
|
||||
ability=If an opponent would gain life, that player loses that much life instead.
|
||||
timing=enchantment
|
||||
oracle=If an opponent would gain life, that player loses that much life instead.
|
||||
status=needs groovy
|
||||
requires_groovy_code
|
|
@ -0,0 +1,21 @@
|
|||
[
|
||||
new MagicSpellCardEvent() {
|
||||
@Override
|
||||
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
cardOnStack,
|
||||
TARGET_CREATURE,
|
||||
this,
|
||||
"Prevent all combat damage that would be dealt by creatures other than target creature\$ this turn."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame Game, final MagicEvent event) {
|
||||
event.processTargetPermanent(Game, {
|
||||
CREATURE.except(it).filter(it) each {
|
||||
Game.doAction(new AddTurnTriggerAction(it, PreventDamageTrigger.PreventCombatDamageDealtBy));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
|
@ -5,7 +5,6 @@ value=3.955
|
|||
rarity=C
|
||||
type=Instant
|
||||
cost={1}{G}
|
||||
effect=Prevent all combat damage that would be dealt by creatures other than target creature this turn.
|
||||
timing=removal
|
||||
requires_groovy_code
|
||||
oracle=Prevent all combat damage that would be dealt by creatures other than target creature this turn.
|
||||
status=needs groovy
|
|
@ -0,0 +1,47 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
for (final MagicCard card : player.getLibrary().getCardsFromTop(1)) {
|
||||
game.doAction(new RevealAction(card));
|
||||
if (card.hasType(MagicType.Land)) {
|
||||
game.doAction(new ReturnCardAction(MagicLocationType.OwnersLibrary,card,event.getPlayer(),MagicPlayMod.TAPPED));
|
||||
} else {
|
||||
game.doAction(new DrawAction(event.getPlayer()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[
|
||||
new MagicPermanentActivation(
|
||||
new MagicActivationHints(MagicTiming.Pump),
|
||||
"Scry"
|
||||
) {
|
||||
|
||||
@Override
|
||||
public Iterable<? extends MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicPayManaCostEvent(source,"{4}")
|
||||
];
|
||||
}
|
||||
|
||||
@Override
|
||||
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
source,
|
||||
this,
|
||||
"Scry 1, then reveal the top card of PN's library. If it's a land card, PN puts it onto the battlefield tapped. " +
|
||||
"Otherwise, PN draw a card."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.addEvent(new MagicScryEvent(event));
|
||||
game.addEvent(new MagicEvent(
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
action,
|
||||
""
|
||||
));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -7,8 +7,7 @@ type=Legendary,Creature
|
|||
subtype=Merfolk,Wizard
|
||||
cost={G}{U}
|
||||
pt=1/3
|
||||
ability={4}: Scry 1, then reveal the top card of your library. If it's a land card, put it onto the battlefield tapped. Otherwise, draw a card.;\
|
||||
Partner
|
||||
ability=Partner
|
||||
timing=main
|
||||
oracle={4}: Scry 1, then reveal the top card of your library. If it's a land card, put it onto the battlefield tapped. Otherwise, draw a card.\nPartner
|
||||
status=needs groovy
|
||||
requires_groovy_code
|
|
@ -0,0 +1,19 @@
|
|||
[
|
||||
new TurnedFaceUpTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
|
||||
return (otherPermanent.isFriend(permanent) && otherPermanent.hasType(MagicType.Creature)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
otherPermanent,
|
||||
this,
|
||||
"RN gets +2/+2 until end of turn."
|
||||
):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeTurnPTAction(event.getRefPermanent(),2,2));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -4,8 +4,7 @@ value=2.500
|
|||
rarity=R
|
||||
type=Enchantment
|
||||
cost={1}{G}
|
||||
ability=Whenever a face-down creature enters the battlefield under your control, you may search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.;\
|
||||
Whenever a permanent you control is turned face up, if it's a creature, it gets +2/+2 until end of turn.
|
||||
ability=Whenever a face-down creature enters the battlefield under your control, you may search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.
|
||||
timing=enchantment
|
||||
requires_groovy_code
|
||||
oracle=Whenever a face-down creature enters the battlefield under your control, you may search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.\nWhenever a permanent you control is turned face up, if it's a creature, it gets +2/+2 until end of turn.
|
||||
status=needs groovy
|
|
@ -0,0 +1,19 @@
|
|||
[
|
||||
new OtherDiesTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent died) {
|
||||
return (permanent != died && died.hasType(MagicType.Legendary)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
died.getCard(),
|
||||
this,
|
||||
"Returns RN to its owner's hand."
|
||||
):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ShiftCardAction(event.getRefCard(), MagicLocationType.Graveyard, MagicLocationType.OwnersHand));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -6,7 +6,6 @@ type=Legendary,Creature
|
|||
subtype=Spirit
|
||||
cost={5}{W}{W}
|
||||
pt=4/4
|
||||
ability=Whenever a legendary permanent other than SN is put into a graveyard from the battlefield, return that card to its owner's hand.
|
||||
timing=main
|
||||
requires_groovy_code
|
||||
oracle=Whenever a legendary permanent other than Yomiji, Who Bars the Way is put into a graveyard from the battlefield, return that card to its owner's hand.
|
||||
status=needs groovy
|
|
@ -1,14 +0,0 @@
|
|||
name=Doorkeeper
|
||||
image=https://magiccards.info/scans/en/ima/53.jpg
|
||||
image_updated=2017-04-12
|
||||
value=2.878
|
||||
rarity=C
|
||||
type=Creature
|
||||
subtype=Homunculus
|
||||
cost={1}{U}
|
||||
pt=0/4
|
||||
ability=Defender;\
|
||||
{2}{U}, {T}: Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of creatures with defender you control.
|
||||
timing=smain
|
||||
oracle=Defender\n{2}{U}, {T}: Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of creatures with defender you control.
|
||||
status=needs groovy
|
Loading…
Reference in New Issue