From e3120e5b0cfcd1d94ccf07fd5488185cf615d558 Mon Sep 17 00:00:00 2001 From: Jericho Pumpkin Date: Wed, 30 Oct 2013 10:48:47 +0000 Subject: [PATCH] Add script for Personal Tutor --- .../Magarena/scripts/Personal_Tutor.groovy | 58 +++++++++++++++++++ release/Magarena/scripts/Personal_Tutor.txt | 10 ++++ 2 files changed, 68 insertions(+) create mode 100644 release/Magarena/scripts/Personal_Tutor.groovy create mode 100644 release/Magarena/scripts/Personal_Tutor.txt diff --git a/release/Magarena/scripts/Personal_Tutor.groovy b/release/Magarena/scripts/Personal_Tutor.groovy new file mode 100644 index 0000000000..ca72a86dde --- /dev/null +++ b/release/Magarena/scripts/Personal_Tutor.groovy @@ -0,0 +1,58 @@ +def SORCERY_CARD_FROM_LIBRARY = new MagicCardFilterImpl() { + public boolean accept(final MagicGame game,final MagicPlayer player,final MagicCard target) { + return target.hasType(MagicType.Sorcery); + } + public boolean acceptType(final MagicTargetType targetType) { + return targetType == MagicTargetType.Library; + } +}; + +def A_SORCERY_CARD_FROM_LIBRARY = new MagicTargetChoice( + SORCERY_CARD_FROM_LIBRARY, + "a sorcery card" +); + +def act = { + final MagicGame game, final MagicEvent event -> + if (event.isNo() == false) { + event.processTargetCard(game, new MagicCardAction() { + public void doAction(final MagicCard card) { + game.logAppendMessage(event.getPlayer(), "Found " + card + "."); + game.doAction(new MagicRemoveCardAction(card,MagicLocationType.OwnersLibrary)); + game.doAction(new MagicShuffleLibraryAction(event.getPlayer())); + game.doAction(new MagicMoveCardAction(card,MagicLocationType.OwnersLibrary,MagicLocationType.TopOfOwnersLibrary)); + } + }); + } +} as MagicEventAction + +def evt = { + final MagicEvent event, final MagicChoice choice -> + return new MagicEvent( + event.getSource(), + event.getPlayer(), + choice, + act, + "PN may search his or her library for a sorcery card, reveals it, shuffle his or her library, and put that card on top of it." + ); +} + +[ + new MagicSpellCardEvent() { + @Override + public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { + return new MagicEvent( + cardOnStack, + this, + "PN may search his or her library for a sorcery card, reveals it, shuffle his or her library, and put that card on top of it." + ); + } + @Override + public void executeEvent(final MagicGame game, final MagicEvent event) { + game.addEvent(evt( + event, + A_SORCERY_CARD_FROM_LIBRARY + )); + } + } +] \ No newline at end of file diff --git a/release/Magarena/scripts/Personal_Tutor.txt b/release/Magarena/scripts/Personal_Tutor.txt new file mode 100644 index 0000000000..fe05027293 --- /dev/null +++ b/release/Magarena/scripts/Personal_Tutor.txt @@ -0,0 +1,10 @@ +name=Personal Tutor +url=http://magiccards.info/me2/en/58.html +image=http://magiccards.info/scans/en/me2/58.jpg +value=3.950 +rarity=U +type=Sorcery +cost={U} +timing=main +requires_groovy_code +