From 43876d9e3a3d1e1c852d56445ef5f4cfacc7235e Mon Sep 17 00:00:00 2001 From: ShawnieBoy Date: Thu, 6 Jul 2017 17:33:58 +0100 Subject: [PATCH] fix: Breathstealer Crypt prompts it's owner for all payments fixes #1170 --- .../scripts/Breathstealer_s_Crypt.groovy | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/release/Magarena/scripts/Breathstealer_s_Crypt.groovy b/release/Magarena/scripts/Breathstealer_s_Crypt.groovy index e5a5f7a16b..0ac132ef87 100644 --- a/release/Magarena/scripts/Breathstealer_s_Crypt.groovy +++ b/release/Magarena/scripts/Breathstealer_s_Crypt.groovy @@ -1,26 +1,42 @@ +def action = { + final MagicGame game, final MagicEvent event -> + final MagicCard card = event.getRefCard(); + final MagicPlayer player = card.getOwner(); + final MagicEvent costEvent = new MagicPayLifeEvent(event.getSource(), player, 3); + if (event.isYes() && costEvent.isSatisfied()) { + game.addEvent(costEvent); + } else if (card.isInHand()) { + game.logAppendMessage(player, player.getName() + " discards " + card.getName()); + game.doAction(new DiscardCardAction(player, card)); + } +} [ new OtherDrawnTrigger(MagicTrigger.REPLACEMENT) { @Override public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCard card) { - return card.hasType(MagicType.Creature) ? - new MagicEvent( - permanent, - new MagicMayChoice("Pay 3 life? If not, discard " + card), - card, - this, - "PN may\$ pay 3 life. If PN doesn't, discard RN." - ) : - MagicEvent.NONE; + new MagicEvent( + permanent, + card.getController(), + card, + this, + "PN draws a card and reveals it. If it's a creature card, "+ + "that player discards it unless he or she pays 3 life." + ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { - final MagicEvent costEvent = new MagicPayLifeEvent(event.getSource(), 3); final MagicCard card = event.getRefCard(); - if (event.isYes() && costEvent.isSatisfied()) { - game.addEvent(costEvent); - } else if (card.isInHand()) { - game.doAction(new DiscardCardAction(event.getPlayer(), card)); + game.doAction(new RevealAction(card)); + if (card.hasType(MagicType.Creature)) { + game.addEvent(new MagicEvent( + event.getSource(), + card.getController(), + new MagicMayChoice(), + card, + action, + "PN may pay 3 life.\$ If not, discard " + card + )); } } }