merge cards from shawnieboyuk-magarena-cards

master
melvin 2014-01-14 10:32:41 +08:00
commit 1a3e20207f
23 changed files with 345 additions and 0 deletions

View File

@ -0,0 +1,21 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_SPELL,
this,
"Counter target spell\$. Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetCardOnStack(game, {
final MagicCardOnStack targetSpell ->
game.doAction(new MagicCounterItemOnStackAction(targetSpell));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Dissolve
url=http://magiccards.info/ths/pt/47.html
image=http://mtgimage.com/card/dissolve.jpg
value=4.23
rarity=U
type=Instant
cost={1}{U}{U}
timing=counter
requires_groovy_code

View File

@ -0,0 +1,11 @@
name=Dwarven Soldier
url=http://magiccards.info/5e/en/221.html
image=http://mtgimage.com/card/dwarven%20soldier.jpg
value=2.133
rarity=C
type=Creature
subtype=Dwarf,Soldier
cost={1}{R}
pt=2/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,
MagicTargetChoice.NEG_TARGET_CREATURE,
new MagicWeakenTargetPicker(3,0),
this,
"Target creature\$ gets -3/-0 until end of turn. Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
final MagicPermanent creature ->
game.doAction(new MagicChangeTurnPTAction(creature,-3,-0));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Lost in a Labyrinth
url=http://magiccards.info/ths/en/52.html
image=http://mtgimage.com/card/lost%20in%20a%20labyrinth.jpg
value=1.935
rarity=C
type=Instant
cost={U}
timing=removal
requires_groovy_code

View File

@ -0,0 +1,10 @@
name=New Benalia
url=http://magiccards.info/c13/en/309.html
image=http://mtgimage.com/card/new%20benalia.jpg
value=3.45
rarity=U
type=Land
ability=enters tapped;tap add mana {W}
mana=w2
timing=land
requires_groovy_code=Temple of Silence

View File

@ -0,0 +1,26 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE,
MagicExileTargetPicker.create(),
this,
"Gain control of target creature\$ until end of turn. Untap that creature. " +
"It gains haste until end of turn. Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
final MagicPermanent creature ->
game.doAction(new MagicGainControlAction(event.getPlayer(),creature,MagicStatic.UntilEOT));
game.doAction(new MagicUntapAction(creature));
game.doAction(new MagicGainAbilityAction(creature,MagicAbility.Haste));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Portent of Betrayal
url=http://magiccards.info/ths/en/133.html
image=http://mtgimage.com/card/portent%20of%20betrayal.jpg
value=3.091
rarity=C
type=Sorcery
cost={3}{R}
timing=main
requires_groovy_code

View File

@ -0,0 +1,18 @@
[
new MagicWhenOtherSpellIsCastTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCardOnStack cardOnStack) {
return cardOnStack.isFriend(permanent) && cardOnStack.isInstantOrSorcerySpell() ?
new MagicEvent(
permanent,
this,
"PN Scry 1."
) :
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.addEvent(new MagicScryEvent(event));
}
}
]

View File

@ -0,0 +1,12 @@
name=Prescient Chimera
url=http://magiccards.info/ths/en/59.html
image=http://mtgimage.com/card/prescient%20chimera.jpg
value=3.889
rarity=C
type=Creature
subtype=Chimera
cost={3}{U}{U}
pt=3/4
ability=flying
timing=main
requires_groovy_code

View File

@ -0,0 +1,26 @@
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
MagicTargetChoice.NEG_TARGET_CREATURE,
new MagicDamageTargetPicker(4,true),
this,
"SN deals 3 damage to target creature\$. " +
"A creature dealt damage this way can't be regenerated this turn. "+
"Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTarget(game, {
final MagicTarget target ->
final MagicDamage damage=new MagicDamage(event.getSource(),target,4);
damage.setNoRegeneration();
game.doAction(new MagicDealDamageAction(damage));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Rage of Purphoros
url=http://magiccards.info/ths/en/137.html
image=http://mtgimage.com/card/rage%20of%20purphoros.jpg
value=2.068
rarity=C
type=Sorcery
cost={4}{R}
timing=main
requires_groovy_code

View File

@ -0,0 +1,19 @@
[
new MagicWhenOtherDiesTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
return (permanent != otherPermanent &&
otherPermanent.isCreature()) ?
new MagicEvent(
permanent,
this,
"PN Scry 1."
) :
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.addEvent(new MagicScryEvent(event));
}
}
]

View File

@ -0,0 +1,12 @@
name=Reaper of the Wilds
url=http://magiccards.info/ths/en/201.html
image=http://mtgimage.com/card/reaper%20of%20the%20wilds.jpg
value=4.057
rarity=R
type=Creature
subtype=Gorgon
cost={2}{B}{G}
pt=4/5
ability=pay {B}:SN gains deathtouch until end of turn.;pay {1}{G}:SN gains hexproof until end of turn.
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,
MagicTargetChoice.NEG_TARGET_SPELL,
this,
"Counter target spell\$ unless its controller pays {1}. " +
"Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetCardOnStack(game, {
final MagicCardOnStack targetSpell ->
game.addEvent(new MagicCounterUnlessEvent(event.getSource(),targetSpell,MagicManaCost.create("{1}")));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Stymied Hopes
url=http://magiccards.info/ths/en/64.html
image=http://mtgimage.com/card/stymied%20hopes.jpg
value=2.521
rarity=C
type=Instant
cost={1}{U}
timing=counter
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,
MagicTargetChoice.POS_TARGET_CREATURE,
MagicPumpTargetPicker.create(),
this,
"Target creature\$ gets +3/+1 until end of turn. Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
final MagicPermanent creature ->
game.doAction(new MagicChangeTurnPTAction(creature,3,1));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Titan's Strength
url=http://magiccards.info/ths/en/145.html
image=http://mtgimage.com/card/titan's%20strength.jpg
value=3.976
rarity=C
type=Instant
cost={R}
timing=pump
requires_groovy_code

View File

@ -0,0 +1,28 @@
[
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Pump),
"Scry"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicSacrificePermanentEvent(source, MagicTargetChoice.SACRIFICE_CREATURE)
];
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.addEvent(new MagicScryEvent(event));
}
}
]

View File

@ -0,0 +1,11 @@
name=Viscera Seer
url=http://magiccards.info/c13/en/99.html
image=http://mtgimage.com/card/viscera%20seer.jpg
value=3.264
rarity=C
type=Creature
subtype=Vampire,Wizard
cost={B}
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,
MagicTargetChoice.TARGET_CREATURE,
MagicBounceTargetPicker.create(),
this,
"Return target creature\$ to its owner's hand. Scry 1."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
final MagicPermanent creature ->
game.doAction(new MagicRemoveFromPlayAction(creature,MagicLocationType.OwnersHand));
game.addEvent(new MagicScryEvent(event));
});
}
}
]

View File

@ -0,0 +1,9 @@
name=Voyage's End
url=http://magiccards.info/ths/en/73.html
image=http://mtgimage.com/card/voyage's%20end.jpg
value=3.8
rarity=C
type=Instant
cost={1}{U}
timing=removal
requires_groovy_code