added Spell Pierce and Spere of the Suns

master
melvin 2011-06-07 14:53:44 +08:00
parent 4ab102dce1
commit bd528ff2ac
5 changed files with 75 additions and 7 deletions

View File

@ -112,7 +112,7 @@ ROE U
36.3406
NOTE:animate land, become 1/1 Blinkmoth artifact creature with flying, infect*
NOTE:IMPL
NAME:Inkmoth Nexus
TEXT:
Land
@ -164,7 +164,7 @@ ZEN R
29.6912
NOTE:counter noncreature spell unless pays 2*
NOTE:IMPL
NAME:Spell Pierce
TEXT:
{U}
@ -174,7 +174,7 @@ ZEN C
28.498
NOTE:checks for second creature spell this turn*
NOTE:return from graveyeard
NAME:Vengevine
TEXT:
{2}{G}{G}
@ -219,7 +219,7 @@ ALL U, MED R
25.1005
NOTE:multikicker 2, charge counters*
NOTE:mana pool
NAME:Everflowing Chalice
TEXT:
{0}
@ -252,7 +252,7 @@ M11 R
24.1755
NOTE:level up, grant mana ability to elves*
NOTE:mana pool
NAME:Joraga Treespeaker
TEXT:
{G}

View File

@ -8139,3 +8139,24 @@ value=4
rarity=3
type=Land
timing=land
>Spell Pierce
image=http://magiccards.info/scans/en/zen/67.jpg
cube=default
value=3
rarity=1
type=Instant
color=u
converted=1
cost={U}
timing=counter
>Sphere of the Suns
image=http://magiccards.info/scans/en/mbs/134.jpg
cube=default
value=3
rarity=2
type=Artifact
converted=2
cost={2}
timing=tapland

View File

@ -915,6 +915,31 @@ public class CardEventDefinitions {
}
};
private static final MagicSpellCardEvent SPELL_PIERCE=new MagicSpellCardEvent("Spell Pierce") {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack.getCard(),
cardOnStack.getController(),
MagicTargetChoice.NEG_TARGET_NONCREATURE_SPELL,
new Object[]{cardOnStack},this,"Counter target noncreature spell$ unless its controller pays {2}.");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) {
final MagicCardOnStack cardOnStack=(MagicCardOnStack)data[0];
game.doAction(new MagicMoveCardAction(cardOnStack));
final MagicCardOnStack targetSpell=event.getTarget(game,choiceResults,0);
if (targetSpell!=null) {
game.addEvent(new MagicCounterUnlessEvent(cardOnStack.getCard(),targetSpell,MagicManaCost.TWO));
}
}
};
private static final MagicSpellCardEvent MANA_LEAK=new MagicSpellCardEvent("Mana Leak") {
@Override

View File

@ -51,6 +51,7 @@ public class ManaActivationDefinitions {
// Artifacts.
addManaActivation("Lotus Petal",new MagicSacrificeTapManaActivation(MagicManaType.ALL_TYPES));
addManaActivation("Mind Stone",new MagicTapManaActivation(new MagicManaType[]{MagicManaType.Colorless},0));
addManaActivation("Sphere of the Suns", new MagicVividManaActivation(MagicManaType.ALL_TYPES));
// Land generating colorless mana
addManaActivation("Tectonic Edge",new MagicTapManaActivation(new MagicManaType[]{MagicManaType.Colorless},0));
@ -71,6 +72,6 @@ public class ManaActivationDefinitions {
addCreatureActivations("Vine Trellis",new MagicManaType[]{MagicManaType.Colorless,MagicManaType.Green});
addCreatureActivations("Plague Myr",new MagicManaType[]{MagicManaType.Colorless});
System.err.println("Added 20 mana activations");
System.err.println("Added 21 mana activations");
}
}

View File

@ -3234,6 +3234,28 @@ public class TriggerDefinitions {
}
};
private static final MagicTrigger SPHERE_SUN=new MagicTrigger(MagicTriggerType.WhenComesIntoPlay,"Sphere of the Suns") {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final Object data) {
return new MagicEvent(permanent,permanent.getController(),new Object[]{permanent},this,
permanent.getName()+" enters the battlefield tapped with three charge counters on it.");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object data[],final Object[] choiceResults) {
final MagicPermanent permanent=(MagicPermanent)data[0];
game.doAction(new MagicTapAction(permanent,false));
game.doAction(new MagicChangeCountersAction(permanent,MagicCounterType.Charge,3,false));
}
@Override
public boolean usesStack() {
return false;
}
};
private static final MagicTrigger BLOOD_CRYPT=new MagicRavnicaLandTrigger("Blood Crypt");
private static final MagicTrigger BREEDING_POOL=new MagicRavnicaLandTrigger("Breeding Pool");
@ -3694,7 +3716,6 @@ public class TriggerDefinitions {
@Override
public boolean usesStack() {
return false;
}
};