merged new cards

master
melvin 2013-10-07 21:31:15 +08:00
commit e6d82550d1
16 changed files with 318 additions and 0 deletions

View File

@ -0,0 +1,50 @@
def TARGET_GREEN_CARD_FROM_HAND = new MagicCardFilterImpl() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicCard target) {
return target.hasColor(MagicColor.Green);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Hand;
}
};
def TWO_OTHER_GREEN_CARDS_IN_HAND = new MagicCondition() {
public boolean accept(final MagicSource source) {
final MagicTargetFilter<MagicCard> filter =new MagicTargetFilter.MagicOtherCardTargetFilter(
TARGET_GREEN_CARD_FROM_HAND,
(MagicCard)source
);
final MagicGame game = source.getGame();
final MagicPlayer player = source.getController();
return game.filterCards(player, filter).size() >= 2;
}
};
[
new MagicCardActivation(
[TWO_OTHER_GREEN_CARDS_IN_HAND, MagicCondition.CARD_CONDITION],
new MagicActivationHints(MagicTiming.Main),
"Alt"
) {
public Iterable<MagicEvent> getCostEvent(final MagicCard source) {
final MagicTargetChoice targetChoice = new MagicTargetChoice(
new MagicTargetFilter.MagicOtherCardTargetFilter(
TARGET_GREEN_CARD_FROM_HAND,
source
),
MagicTargetHint.None,
"a green card from your hand"
);
return [
new MagicExileCardEvent(source, targetChoice),
new MagicExileCardEvent(source, targetChoice)
];
}
},
new MagicCDA() {
@Override
public void modPowerToughness(final MagicGame game,final MagicPlayer player,final MagicPowerToughness pt) {
final int size = player.getNrOfPermanents(MagicType.Land);
pt.set(1 + size, 1 + size);
}
}
]

View File

@ -0,0 +1,10 @@
name=Allosaurus Rider
url=http://magiccards.info/evg/en/2.html
image=http://magiccards.info/scans/en/evg/2.jpg
value=4.051
rarity=R
type=Creature
subtype=Elf,Warrior
cost={5}{G}{G}
timing=main
requires_groovy_code

View File

@ -0,0 +1,11 @@
name=Blightsoil Druid
url=http://magiccards.info/mt/en/59.html
image=http://magiccards.info/scans/en/mt/59.jpg
value=1.939
rarity=C
type=Creature
subtype=Elf,Druid
cost={1}{B}
pt=1/2
ability=tap pain add mana {G}
timing=main

View File

@ -0,0 +1,32 @@
[
new MagicStatic(
MagicLayer.Ability,
MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL
) {
@Override
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
flags.add(MagicAbility.Trample);
}
@Override
public boolean condition(final MagicGame game, final MagicPermanent source, final MagicPermanent target) {
return target.getCounters(MagicCounterType.PlusOne) > 0;
}
},
new MagicWhenOtherComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPermanent otherPermanent) {
if (otherPermanent != permanent &&
otherPermanent.isCreature() &&
otherPermanent.isFriend(permanent) &&
otherPermanent.hasSubType(MagicSubType.Warrior)) {
game.doAction(new MagicChangeCountersAction(
otherPermanent,
MagicCounterType.PlusOne,
1,
true
));
}
return MagicEvent.NONE;
}
}
]

View File

@ -0,0 +1,11 @@
name=Bramblewood Paragon
url=http://magiccards.info/mt/en/115.html
image=http://magiccards.info/scans/en/mt/115.jpg
value=4.250
rarity=U
type=Creature
subtype=Elf,Warrior
cost={1}{G}
pt=2/2
timing=main
requires_groovy_code

View File

@ -0,0 +1,28 @@
[
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Flash),
"Token"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicPayManaCostSacrificeEvent(source, "{2}{G}")
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"Put a 3/3 green Centaur creature token onto the battlefield."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new MagicPlayTokenAction(event.getPlayer(), TokenCardDefinitions.get("Centaur3")));
}
}
]

View File

@ -0,0 +1,11 @@
name=Centaur's Herald
url=http://magiccards.info/rtr/en/118.html
image=http://magiccards.info/scans/en/rtr/118.jpg
value=2.500
rarity=C
type=Creature
subtype=Elf,Scout
cost={G}
pt=0/1
timing=main
requires_groovy_code

View File

@ -0,0 +1,13 @@
name=Eladamri, Lord of Leaves
url=http://magiccards.info/tp/en/117.html
image=http://magiccards.info/scans/en/tp/117.jpg
value=4.240
rarity=R
type=Legendary,Creature
subtype=Elf,Warrior
cost={G}{G}
pt=2/2
ability=lord other elf creatures have forestwalk;\
lord other elf creatures have shroud
static=all
timing=main

View File

@ -0,0 +1,33 @@
[
new MagicWhenOtherSpellIsCastTrigger() {
@Override
public boolean accept(final MagicPermanent permanent, final MagicCardOnStack spell) {
return spell.hasSubType(MagicSubType.Giant);
}
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicCardOnStack cardOnStack) {
new MagicEvent(
permanent,
new MagicSimpleMayChoice(
MagicSimpleMayChoice.ADD_PLUSONE_COUNTER,
1,
MagicSimpleMayChoice.DEFAULT_YES
),
this,
"PN may\$ put a +1/+1 counter on SN."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
if (event.isYes()) {
game.doAction(new MagicChangeCountersAction(
event.getPermanent(),
MagicCounterType.PlusOne,
1,
true
));
}
}
}
]

View File

@ -0,0 +1,11 @@
name=Elvish Handservant
url=http://magiccards.info/lw/en/206.html
image=http://magiccards.info/scans/en/lw/206.jpg
value=2.360
rarity=C
type=Creature
subtype=Elf,Warrior
cost={G}
pt=1/1
timing=main
requires_groovy_code

View File

@ -0,0 +1,22 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
this,
"PN puts a 1/1 green Elf Warrior creature tokens onto the battlefield " +
"for each Elf creature he or she controls."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
game.doAction(new MagicPlayTokensAction(
player,
TokenCardDefinitions.get("Elf1"),
player.getNrOfPermanents(MagicTargetFilter.TARGET_ELF)
));
}
}
]

View File

@ -0,0 +1,10 @@
name=Elvish Promenade
url=http://magiccards.info/dpa/en/62.html
image=http://magiccards.info/scans/en/dpa/62.jpg
value=4.070
rarity=U
type=Tribal,Sorcery
subtype=Elf
cost={3}{G}
timing=main
requires_groovy_code

View File

@ -0,0 +1,35 @@
[
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Removal),
"Destroy"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicPayManaCostEvent(source,"{4}{G}"),
new MagicSacrificePermanentEvent(source, MagicTargetChoice.SACRIFICE_CREATURE)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
MagicTargetChoice.NEG_TARGET_CREATURE_WITH_FLYING,
new MagicDestroyTargetPicker(false),
this,
"Destroy target creature\$ with flying."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicDestroyAction(creature));
}
});
}
}
]

View File

@ -0,0 +1,11 @@
name=Elvish Skysweeper
url=http://magiccards.info/rav/en/162.html
image=http://magiccards.info/scans/en/rav/162.jpg
value=2.866
rarity=C
type=Creature
subtype=Elf,Warrior
cost={G}
pt=1/1
timing=main
requires_groovy_code

View File

@ -0,0 +1,19 @@
[
new MagicWhenOtherComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
return (otherPermanent != permanent &&
otherPermanent.hasSubType(MagicSubType.Elf)) ?
new MagicEvent(
permanent,
this,
"Put a +1/+1 counter on SN."
):
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new MagicChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,1,true));
}
}
]

View File

@ -0,0 +1,11 @@
name=Elvish Vanguard
url=http://magiccards.info/on/en/259.html
image=http://magiccards.info/scans/en/on/259.jpg
value=4.338
rarity=R
type=Creature
subtype=Elf,Warrior
cost={1}{G}
pt=1/1
timing=main
requires_groovy_code