added Farrel's Zealot and Floral Spuzzem

master
beholder 2011-10-31 11:17:38 +01:00
parent 347cc37b2a
commit 56ef8c9100
6 changed files with 158 additions and 0 deletions

View File

@ -18145,3 +18145,29 @@ converted=3
cost={2}{R}
pt=2/2
timing=main
>Farrel's Zealot
url=http://magiccards.info/fe/en/139.html
image=http://magiccards.info/scans/en/fe/139.jpg
value=2
rarity=C
type=Creature
subtype=Human
color=w
converted=3
cost={1}{W}{W}
pt=2/2
timing=main
>Floral Spuzzem
url=http://magiccards.info/lg/en/101.html
image=http://magiccards.info/scans/en/lg/101.jpg
value=2
rarity=U
type=Creature
subtype=Elemental
color=g
converted=4
cost={3}{G}
pt=2/2
timing=main

View File

@ -11,6 +11,7 @@ import magic.model.action.MagicPermanentAction;
import magic.model.choice.MagicMayChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicDamageTargetPicker;
import magic.model.trigger.MagicWhenAttacksUnblockedTrigger;
public class Dwarven_Vigilantes {
@ -26,6 +27,7 @@ public class Dwarven_Vigilantes {
player + " may have " + permanent + " deal " +
"damage equal to its power to target creature.",
MagicTargetChoice.NEG_TARGET_CREATURE),
new MagicDamageTargetPicker(permanent.getPower(game)),
new Object[]{permanent},
this,
player + " may$ have " + permanent + " deal " +

View File

@ -0,0 +1,63 @@
package magic.card;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPermanentState;
import magic.model.MagicPlayer;
import magic.model.action.MagicChangeStateAction;
import magic.model.action.MagicDealDamageAction;
import magic.model.action.MagicPermanentAction;
import magic.model.choice.MagicMayChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicDamageTargetPicker;
import magic.model.trigger.MagicWhenAttacksUnblockedTrigger;
public class Farrel_s_Zealot {
public static final MagicWhenAttacksUnblockedTrigger T = new MagicWhenAttacksUnblockedTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
if (creature == permanent) {
final MagicPlayer player = permanent.getController();
return new MagicEvent(
permanent,
player,
new MagicMayChoice(
player + " may have " + permanent +
" deal 3 damage to target creature.",
MagicTargetChoice.NEG_TARGET_CREATURE),
new MagicDamageTargetPicker(3),
new Object[]{permanent},
this,
player + " may$ have " + permanent +
" deal 3 damage to target creature$.");
}
return MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
if (MagicMayChoice.isYesChoice(choiceResults[0])) {
event.processTargetPermanent(game,choiceResults,1,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
final MagicPermanent permanent = (MagicPermanent)data[0];
final MagicDamage damage = new MagicDamage(
permanent,
creature,
3,
false);
game.doAction(new MagicDealDamageAction(damage));
game.doAction(new MagicChangeStateAction(
permanent,
MagicPermanentState.NoCombatDamage,true));
}
});
}
}
};
}

View File

@ -0,0 +1,54 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPermanentState;
import magic.model.MagicPlayer;
import magic.model.action.MagicChangeStateAction;
import magic.model.action.MagicDestroyAction;
import magic.model.action.MagicPermanentAction;
import magic.model.choice.MagicMayChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicDestroyTargetPicker;
import magic.model.trigger.MagicWhenAttacksUnblockedTrigger;
public class Floral_Spuzzem {
public static final MagicWhenAttacksUnblockedTrigger T = new MagicWhenAttacksUnblockedTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
if (creature == permanent) {
final MagicPlayer player = permanent.getController();
return new MagicEvent(
permanent,
player,
new MagicMayChoice(
player + " may destroy target artifact.",
MagicTargetChoice.TARGET_ARTIFACT_YOUR_OPPONENT_CONTROLS),
new MagicDestroyTargetPicker(false),
new Object[]{permanent},
this,
player + " may$ destroy target artifact$.");
}
return MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
if (MagicMayChoice.isYesChoice(choiceResults[0])) {
event.processTargetPermanent(game,choiceResults,1,new MagicPermanentAction() {
public void doAction(final MagicPermanent target) {
game.doAction(new MagicDestroyAction(target));
}
});
game.doAction(new MagicChangeStateAction(
(MagicPermanent)data[0],
MagicPermanentState.NoCombatDamage,true));
}
}
};
}

View File

@ -95,6 +95,9 @@ public class MagicTargetChoice extends MagicChoice {
new MagicTargetChoice(MagicTargetFilter.TARGET_NONLAND_PERMANENT,true,MagicTargetHint.Negative,"target nonland permanent");
public static final MagicTargetChoice TARGET_ARTIFACT_YOU_CONTROL=
new MagicTargetChoice(MagicTargetFilter.TARGET_ARTIFACT_YOU_CONTROL,true,MagicTargetHint.None,"target artifact you control");
public static final MagicTargetChoice TARGET_ARTIFACT_YOUR_OPPONENT_CONTROLS =
new MagicTargetChoice(MagicTargetFilter.TARGET_ARTIFACT_YOUR_OPPONENT_CONTROLS,true,MagicTargetHint.None,
"target artifact your opponent controls");
public static final MagicTargetChoice TARGET_ARTIFACT =
new MagicTargetChoice(MagicTargetFilter.TARGET_ARTIFACT,true,MagicTargetHint.None,"target artifact");
public static final MagicTargetChoice NEG_TARGET_ARTIFACT=

View File

@ -248,6 +248,16 @@ public interface MagicTargetFilter {
}
};
MagicTargetFilter TARGET_ARTIFACT_YOUR_OPPONENT_CONTROLS = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
final MagicPermanent targetPermanent = (MagicPermanent)target;
return target.getController() != player && targetPermanent.isArtifact(game);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Permanent;
}
};
MagicTargetFilter TARGET_ARTIFACT_CREATURE = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
final MagicPermanent targetPermanent = (MagicPermanent)target;