From 3d224ffb61203d461c3b2a17636d6596a3b45cd8 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 30 Sep 2019 18:45:10 -0400 Subject: [PATCH] reverted change to triggered abilities (#6001) --- .../src/mage/cards/d/DeathlessKnight.java | 21 +++++++++++-------- .../DrawSecondCardTriggeredAbility.java | 21 +++++++++++-------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/Mage.Sets/src/mage/cards/d/DeathlessKnight.java b/Mage.Sets/src/mage/cards/d/DeathlessKnight.java index 88500d97e2b..8b536dbf103 100644 --- a/Mage.Sets/src/mage/cards/d/DeathlessKnight.java +++ b/Mage.Sets/src/mage/cards/d/DeathlessKnight.java @@ -59,25 +59,28 @@ class DeathlessKnightTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.GAINED_LIFE; + return event.getType() == GameEvent.EventType.GAINED_LIFE + || event.getType() == GameEvent.EventType.END_PHASE_POST; } @Override public boolean checkTrigger(GameEvent event, Game game) { - if (!event.getPlayerId().equals(controllerId) - || game.getState().getZone(this.getSourceId()) == Zone.GRAVEYARD - || triggeredOnce) { + if (event.getType() == GameEvent.EventType.END_PHASE_POST) { + triggeredOnce = false; + return false; + } + if (event.getType() != GameEvent.EventType.GAINED_LIFE + || !event.getPlayerId().equals(controllerId) + || game.getState().getZone(this.getSourceId()) == Zone.GRAVEYARD) { + return false; + } + if (triggeredOnce) { return false; } triggeredOnce = true; return true; } - @Override - public void reset(Game game) { - triggeredOnce = false; - } - @Override public String getRule() { return "When you gain life for the first time each turn, return {this} from your graveyard to your hand."; diff --git a/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java index 9cec4aaf98c..becd3c41d1a 100644 --- a/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java @@ -26,14 +26,22 @@ public class DrawSecondCardTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DREW_CARD; + return event.getType() == GameEvent.EventType.DREW_CARD + || event.getType() == GameEvent.EventType.END_PHASE_POST; } @Override public boolean checkTrigger(GameEvent event, Game game) { - if (!event.getPlayerId().equals(controllerId) - || game.getPermanent(sourceId) == null - || triggeredOnce) { + if (event.getType() == GameEvent.EventType.END_PHASE_POST) { + triggeredOnce = false; + return false; + } + if (event.getType() != GameEvent.EventType.DREW_CARD + || !event.getPlayerId().equals(controllerId) + || game.getPermanent(sourceId) == null) { + return false; + } + if (triggeredOnce) { return false; } CardsAmountDrawnThisTurnWatcher watcher = game.getState().getWatcher(CardsAmountDrawnThisTurnWatcher.class); @@ -47,11 +55,6 @@ public class DrawSecondCardTriggeredAbility extends TriggeredAbilityImpl { return false; } - @Override - public void reset(Game game) { - triggeredOnce = false; - } - @Override public String getRule() { return "Whenever you draw your second card each turn, " + super.getRule();