added Farrel's Zealot and Floral Spuzzem
parent
347cc37b2a
commit
56ef8c9100
|
@ -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
|
||||
|
|
|
@ -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 " +
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
|
@ -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=
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue