merged new cards
commit
e6d82550d1
|
@ -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);
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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")));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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)
|
||||
));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
]
|
|
@ -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
|
Loading…
Reference in New Issue