From 4522d1dd01943bd1fa81159718d5d300a7482e26 Mon Sep 17 00:00:00 2001 From: melvinzhang Date: Sun, 15 Mar 2015 08:59:53 +0800 Subject: [PATCH] create MagicManifestCardAction that always uses MagicPlayCardEvent.create() for the card event, fixed issue #107 --- .../model/action/MagicManifestAction.java | 6 +--- .../model/action/MagicManifestCardAction.java | 34 +++++++++++++++++++ .../model/action/MagicPlayCardAction.java | 6 ++-- 3 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 src/magic/model/action/MagicManifestCardAction.java diff --git a/src/magic/model/action/MagicManifestAction.java b/src/magic/model/action/MagicManifestAction.java index 50a41dd7c5..3592cbf60f 100644 --- a/src/magic/model/action/MagicManifestAction.java +++ b/src/magic/model/action/MagicManifestAction.java @@ -28,11 +28,7 @@ public void doAction(final MagicGame game) { card, MagicLocationType.OwnersLibrary )); - game.doAction(new MagicPlayCardAction( - card, - player, - MagicPlayMod.MANIFEST - )); + game.doAction(new MagicManifestCardAction(card, player)); } } diff --git a/src/magic/model/action/MagicManifestCardAction.java b/src/magic/model/action/MagicManifestCardAction.java new file mode 100644 index 0000000000..85a0373d71 --- /dev/null +++ b/src/magic/model/action/MagicManifestCardAction.java @@ -0,0 +1,34 @@ + +package magic.model.action; + +import magic.model.MagicCard; +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.MagicPayedCost; +import magic.model.event.MagicPlayCardEvent; +import magic.model.stack.MagicCardOnStack; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class MagicManifestCardAction extends MagicPlayCardAction { + + public MagicManifestCardAction(final MagicCard card, final MagicPlayer player) { + super(card, player, MagicPlayMod.MANIFEST); + } + + @Override + public void doAction(final MagicGame game) { + final MagicCardOnStack cardOnStack = new MagicCardOnStack( + card, + card, + controller, + MagicPlayCardEvent.create(), + MagicPayedCost.NOT_SPELL, + modifications + ); + game.addEvent(cardOnStack.getEvent()); + } +} diff --git a/src/magic/model/action/MagicPlayCardAction.java b/src/magic/model/action/MagicPlayCardAction.java index 7a18f6db7d..f20d9f0d2d 100644 --- a/src/magic/model/action/MagicPlayCardAction.java +++ b/src/magic/model/action/MagicPlayCardAction.java @@ -13,9 +13,9 @@ public class MagicPlayCardAction extends MagicAction { - private final MagicCard card; - private final MagicPlayer controller; - private final List modifications; + protected final MagicCard card; + protected final MagicPlayer controller; + protected final List modifications; public MagicPlayCardAction(final MagicCard aCard, final MagicPlayer aController,final List aModifications) { card = aCard;