merged new cards

master
melvin 2013-11-21 15:49:41 +08:00
commit 1d409b0a55
19 changed files with 545 additions and 0 deletions

View File

@ -0,0 +1,11 @@
name=Abbey Matron
url=http://magiccards.info/hl/en/102.html
image=http://magiccards.info/scans/en/hl/102.jpg
value=1.591
rarity=C
type=Creature
subtype=Human,Cleric
cost={2}{W}
pt=1/3
ability=pay {W},{T}:SN gets +0/+3 until end of turn.
timing=main

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Haste);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Shroud);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
}
]

View File

@ -0,0 +1,11 @@
name=Clout of the Dominus
url=http://magiccards.info/eve/en/99.html
image=http://magiccards.info/scans/en/eve/99.jpg
value=4.168
rarity=C
type=Enchantment
subtype=Aura
cost={U/R}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Vigilance);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Flying);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
}
]

View File

@ -0,0 +1,11 @@
name=Favor of the Overbeing
url=http://magiccards.info/eve/en/151.html
image=http://magiccards.info/scans/en/eve/151.jpg
value=3.544
rarity=C
type=Enchantment
subtype=Aura
cost={1}{G/U}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.FirstStrike);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Black);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Wither);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Black);
}
}
]

View File

@ -0,0 +1,11 @@
name=Fists of the Demigod
url=http://magiccards.info/shm/en/187.html
image=http://magiccards.info/scans/en/shm/187.jpg
value=4.031
rarity=C
type=Enchantment
subtype=Aura
cost={1}{B/R}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,81 @@
def Draw = new MagicWhenDamageIsDealtTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
return (damage.getSource() == permanent &&
permanent.isOpponent(damage.getTarget())) ?
new MagicEvent(
permanent,
permanent.getController(),
this,
"PN draws a card."
) :
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new MagicDrawAction(event.getPlayer()));
}
};
def Discard = new MagicWhenDamageIsDealtTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
return (damage.getSource() == permanent &&
permanent.isOpponent(damage.getTarget())) ?
new MagicEvent(
permanent,
permanent.getController(),
damage.getTarget(),
this,
"RN discards a card."
) :
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.addEvent(new MagicDiscardEvent(event.getSource(), event.getRefPlayer()));
}
};
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
permanent.addAbility(Draw);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Black);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
permanent.addAbility(Discard);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Black);
}
}
]

View File

@ -0,0 +1,11 @@
name=Helm of the Ghastlord
url=http://magiccards.info/shm/en/166.html
image=http://magiccards.info/scans/en/shm/166.jpg
value=3.678
rarity=C
type=Enchantment
subtype=Aura
cost={3}{U/B}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,49 @@
def TARGET_ANGEL_OR_DEMON_OR_DRAGON_CARD_FROM_HAND = new MagicCardFilterImpl() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicCard target) {
return target.hasType(MagicType.Creature) &&
(target.hasSubType(MagicSubType.Angel) ||
target.hasSubType(MagicSubType.Demon) ||
target.hasSubType(MagicSubType.Dragon));
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Hand;
}
};
def ANGEL_OR_DEMON_OR_DRAGON_CARD_FROM_HAND = new MagicTargetChoice(
TARGET_ANGEL_OR_DEMON_OR_DRAGON_CARD_FROM_HAND,
MagicTargetHint.None,
"an Angel, Demon or Dragon creature card from your hand"
);
[
new MagicWhenAttacksTrigger(1) {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent attacker) {
return permanent == attacker ?
new MagicEvent(
permanent,
new MagicMayChoice(
ANGEL_OR_DEMON_OR_DRAGON_CARD_FROM_HAND
),
MagicGraveyardTargetPicker.PutOntoBattlefield,
this,
"PN may\$ put an Angel, Demon or Dragon creature card\$ from his or her hand onto the battlefield tapped and attacking."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
if(event.isYes()){
event.processTargetCard(game,new MagicCardAction() {
public void doAction(final MagicCard card) {
game.doAction(new MagicRemoveCardAction(card,MagicLocationType.OwnersHand));
game.doAction(new MagicPlayCardAction(
card,
event.getPlayer(),
[MagicPlayMod.TAPPED, MagicPlayMod.ATTACKING]
));
}
});
}
}
}
]

View File

@ -0,0 +1,12 @@
name=Kaalia of the Vast
url=http://magiccards.info/cma/en/9.html
image=http://magiccards.info/scans/en/cma/9.jpg
value=4.120
rarity=M
type=Legendary,Creature
subtype=Human,Cleric
cost={1}{W}{B}{R}
pt=2/2
ability=flying
timing=main
requires_groovy_code

View File

@ -0,0 +1,45 @@
def TARGET_NONLAND_CARD_FROM_HAND = new MagicCardFilterImpl() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicCard target) {
return !(target.hasType(MagicType.Land));
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Hand;
}
};
def NONLAND_CARD_FROM_HAND = new MagicTargetChoice(
TARGET_NONLAND_CARD_FROM_HAND,
MagicTargetHint.None,
"a nonland card from your hand"
);
[
new MagicWhenDamageIsDealtTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
return (damage.getSource()==permanent &&
damage.getTarget().isPlayer() &&
damage.isCombat()) ?
new MagicEvent(
permanent,
new MagicMayChoice(
NONLAND_CARD_FROM_HAND
),
MagicGraveyardTargetPicker.PutOntoBattlefield,
this,
"PN may\$ cast target nonland card\$ from his or her hand without paying its mana cost."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
if (event.isYes()) {
event.processTargetCard(game,new MagicCardAction() {
public void doAction(final MagicCard card) {
game.doAction(new MagicRemoveCardAction(card,MagicLocationType.OwnersHand));
final MagicCardOnStack cardOnStack=new MagicCardOnStack(card,event.getPlayer(), MagicPayedCost.NO_COST);
game.doAction(new MagicPutItemOnStackAction(cardOnStack));
}
});
}
}
}
]

View File

@ -0,0 +1,12 @@
name=Maelstrom Archangel
url=http://magiccards.info/cfx/en/115.html
image=http://magiccards.info/scans/en/cfx/115.jpg
value=4.099
rarity=M
type=Creature
subtype=Angel
cost={W}{U}{B}{R}{G}
pt=5/5
ability=flying
timing=main
requires_groovy_code

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.DoubleStrike);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Trample);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
}
]

View File

@ -0,0 +1,11 @@
name=Runes of the Deus
url=http://magiccards.info/shm/en/215.html
image=http://magiccards.info/scans/en/shm/215.jpg
value=3.800
rarity=C
type=Enchantment
subtype=Aura
cost={4}{R/G}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.White);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Flying);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.White);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Indestructible);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Green);
}
}
]

View File

@ -0,0 +1,11 @@
name=Shield of the Oversoul
url=http://magiccards.info/shm/en/242.html
image=http://magiccards.info/scans/en/shm/242.jpg
value=4.242
rarity=C
type=Enchantment
subtype=Aura
cost={2}{G/W}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code

View File

@ -0,0 +1,43 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.White);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Lifelink);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.White);
}
},
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
pt.add(1, 1);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Unblockable);
}
@Override
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
}
}
]

View File

@ -0,0 +1,11 @@
name=Steel of the Godhead
url=http://magiccards.info/shm/en/150.html
image=http://magiccards.info/scans/en/shm/150.jpg
value=3.958
rarity=C
type=Enchantment
subtype=Aura
cost={2}{W/U}
timing=enchantment
enchant=pump,pos creature
requires_groovy_code