added Tidings and Treasure Hunter

master
beholder 2011-09-23 08:54:45 +02:00
parent 12ad6232ab
commit 12b32616e8
5 changed files with 116 additions and 1 deletions

View File

@ -786,6 +786,18 @@ cost={2}{W}
pt=2/2 pt=2/2
timing=main timing=main
>Treasure Hunter
image=http://magiccards.info/scans/en/10e/52.jpg
value=3
rarity=U
type=Creature
subtype=Human
color=w
converted=3
cost={2}{W}
pt=2/2
timing=main
>Aven Fleetwing >Aven Fleetwing
image=http://magiccards.info/scans/en/m12/44.jpg image=http://magiccards.info/scans/en/m12/44.jpg
value=3 value=3
@ -4575,6 +4587,16 @@ converted=5
cost={3}{U}{U} cost={3}{U}{U}
timing=draw timing=draw
>Tidings
image=http://magiccards.info/scans/en/10e/116.jpg
value=4
rarity=U
type=Sorcery
color=u
converted=5
cost={3}{U}{U}
timing=draw
>Visions of Beyond >Visions of Beyond
image=http://magiccards.info/scans/en/m12/80.jpg image=http://magiccards.info/scans/en/m12/80.jpg
value=2 value=2

View File

@ -0,0 +1,34 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPlayer;
import magic.model.action.MagicDrawAction;
import magic.model.action.MagicMoveCardAction;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
public class Tidings {
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
final MagicPlayer player = cardOnStack.getController();
return new MagicEvent(
cardOnStack.getCard(),
player,
new Object[]{cardOnStack,player},
this,
"Draw four cards.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] data,
final Object[] choiceResults) {
game.doAction(new MagicMoveCardAction((MagicCardOnStack)data[0]));
game.doAction(new MagicDrawAction((MagicPlayer)data[1],4));
}
};
}

View File

@ -0,0 +1,46 @@
package magic.card;
import magic.model.MagicCard;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicCardAction;
import magic.model.action.MagicMoveCardAction;
import magic.model.action.MagicRemoveCardAction;
import magic.model.choice.MagicMayChoice;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicGraveyardTargetPicker;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Treasure_Hunter {
public static final MagicWhenComesIntoPlayTrigger T = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
new MagicMayChoice(
"You may return target artifact card from your graveyard to your hand.",
MagicTargetChoice.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD),
new MagicGraveyardTargetPicker(false),
MagicEvent.NO_DATA,
this,
"You may$ return target artifact card$ from your graveyard to your hand.");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object data[],final Object[] choiceResults) {
if (MagicMayChoice.isYesChoice(choiceResults[0])) {
event.processTargetCard(game,choiceResults,1,new MagicCardAction() {
public void doAction(final MagicCard card) {
game.doAction(new MagicRemoveCardAction(card,MagicLocationType.Graveyard));
game.doAction(new MagicMoveCardAction(card,MagicLocationType.Graveyard,MagicLocationType.OwnersHand));
}
});
}
}
};
}

View File

@ -210,7 +210,11 @@ public class MagicTargetChoice extends MagicChoice {
public static final MagicTargetChoice TARGET_INSTANT_OR_SORCERY_CARD_FROM_OPPONENTS_GRAVEYARD= public static final MagicTargetChoice TARGET_INSTANT_OR_SORCERY_CARD_FROM_OPPONENTS_GRAVEYARD=
new MagicTargetChoice(MagicTargetFilter.TARGET_INSTANT_OR_SORCERY_CARD_FROM_OPPONENTS_GRAVEYARD,false,MagicTargetHint.None,"target instant or sorcery card from your opponent's graveyard"); new MagicTargetChoice(MagicTargetFilter.TARGET_INSTANT_OR_SORCERY_CARD_FROM_OPPONENTS_GRAVEYARD,false,MagicTargetHint.None,"target instant or sorcery card from your opponent's graveyard");
public static final MagicTargetChoice TARGET_ENCHANTMENT_CARD_FROM_GRAVEYARD = public static final MagicTargetChoice TARGET_ENCHANTMENT_CARD_FROM_GRAVEYARD =
new MagicTargetChoice(MagicTargetFilter.TARGET_ENCHANTMENT_CARD_FROM_GRAVEYARD,false,MagicTargetHint.None,"target enchantment card from your graveyard"); new MagicTargetChoice(MagicTargetFilter.TARGET_ENCHANTMENT_CARD_FROM_GRAVEYARD,false,MagicTargetHint.None,
"target enchantment card from your graveyard");
public static final MagicTargetChoice TARGET_ARTIFACT_CARD_FROM_GRAVEYARD =
new MagicTargetChoice(MagicTargetFilter.TARGET_ARTIFACT_CARD_FROM_GRAVEYARD,false,MagicTargetHint.None,
"target artifact card from your graveyard");
public static final MagicTargetChoice TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS= public static final MagicTargetChoice TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS=
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS,false,MagicTargetHint.None,"target creature card from a graveyard"); new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS,false,MagicTargetHint.None,"target creature card from a graveyard");
public static final MagicTargetChoice TARGET_ARTIFACT_OR_CREATURE_CARD_FROM_ALL_GRAVEYARDS= public static final MagicTargetChoice TARGET_ARTIFACT_OR_CREATURE_CARD_FROM_ALL_GRAVEYARDS=

View File

@ -1139,6 +1139,15 @@ public interface MagicTargetFilter {
} }
}; };
MagicTargetFilter TARGET_ARTIFACT_CARD_FROM_GRAVEYARD = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return ((MagicCard)target).getCardDefinition().hasType(MagicType.Artifact);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Graveyard;
}
};
MagicTargetFilter TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS=new MagicTargetFilter() { MagicTargetFilter TARGET_CREATURE_CARD_FROM_ALL_GRAVEYARDS=new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) { public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return ((MagicCard)target).getCardDefinition().isCreature(); return ((MagicCard)target).getCardDefinition().isCreature();