This commit is contained in:
Justin Herlehy 2016-11-21 11:01:21 -08:00
commit d39f60ae42

View file

@ -83,6 +83,10 @@ public class RiftmarkedKnight extends CardImpl {
} }
class RiftmarkedKnightTriggeredAbility extends TriggeredAbilityImpl { class RiftmarkedKnightTriggeredAbility extends TriggeredAbilityImpl {
/* We want this to only trigger once due to edge cases allowing it to fire multiple times
* if more counters are removed than remain on the suspended card. */
private boolean eventTriggered = false;
public RiftmarkedKnightTriggeredAbility() { super(Zone.EXILED, new CreateTokenEffect(new RiftmarkedKnightToken()), false); } public RiftmarkedKnightTriggeredAbility() { super(Zone.EXILED, new CreateTokenEffect(new RiftmarkedKnightToken()), false); }
public RiftmarkedKnightTriggeredAbility(final RiftmarkedKnightTriggeredAbility ability) { super(ability); } public RiftmarkedKnightTriggeredAbility(final RiftmarkedKnightTriggeredAbility ability) { super(ability); }
@ -96,7 +100,9 @@ class RiftmarkedKnightTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) { public boolean checkTrigger(GameEvent event, Game game) {
boolean trigger = false; boolean trigger = false;
if (game.getCard(event.getTargetId()).getCounters(game).getCount(CounterType.TIME) == 0) { if (event.getTargetId().equals(this.getSourceId()) && !eventTriggered &&
game.getCard(event.getTargetId()).getCounters(game).getCount(CounterType.TIME) == 0) {
eventTriggered = true;
trigger = true; trigger = true;
} }
return trigger; return trigger;