added Thalakos Deceiver and Zealot il-Vec

master
beholder 2011-10-31 12:55:00 +01:00
parent 01e8271ffb
commit 8a62e6d31c
3 changed files with 144 additions and 0 deletions

View File

@ -18199,3 +18199,31 @@ cost={1}{B}
pt=0/1
ability=flying
timing=main
>Thalakos Deceiver
url=http://magiccards.info/sh/en/45.html
image=http://magiccards.info/scans/en/sh/45.jpg
value=3
rarity=R
type=Creature
subtype=Thalakos,Wizard
color=u
converted=4
cost={3}{U}
pt=1/1
ability=shadow
timing=main
>Zealot il-Vec
url=http://magiccards.info/ts/en/47.html
image=http://magiccards.info/scans/en/ts/47.jpg
value=2
rarity=C
type=Creature
subtype=Human,Rebel
color=w
converted=3
cost={2}{W}
pt=1/1
ability=shadow
timing=main

View File

@ -0,0 +1,53 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicGainControlAction;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicSacrificeAction;
import magic.model.choice.MagicMayChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicExileTargetPicker;
import magic.model.trigger.MagicWhenAttacksUnblockedTrigger;
public class Thalakos_Deceiver {
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 sacrifice " + permanent +
". If you do, gain control of target creature.",
MagicTargetChoice.NEG_TARGET_CREATURE),
MagicExileTargetPicker.getInstance(),
new Object[]{permanent,player},
this,
player + " may$ sacrifice " + permanent +
". If you do, gain control of 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])) {
game.doAction(new MagicSacrificeAction((MagicPermanent)data[0]));
event.processTargetPermanent(game,choiceResults,1,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicGainControlAction((MagicPlayer)data[1],creature));
}
});
}
}
};
}

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 Zealot_il_Vec {
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 1 damage to target creature.",
MagicTargetChoice.NEG_TARGET_CREATURE),
new MagicDamageTargetPicker(3),
new Object[]{permanent},
this,
player + " may$ have " + permanent +
" deal 1 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,
1,
false);
game.doAction(new MagicDealDamageAction(damage));
game.doAction(new MagicChangeStateAction(
permanent,
MagicPermanentState.NoCombatDamage,true));
}
});
}
}
};
}