From 9097ae5afea6eb6b24c11ded8063efb251f5c2da Mon Sep 17 00:00:00 2001 From: emerald000 Date: Mon, 4 May 2020 23:22:37 -0400 Subject: [PATCH] Fix Quartzwood Crasher combat damage tracking. Fixes #6512. --- .../src/mage/cards/q/QuartzwoodCrasher.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java b/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java index bc7cd43eac0..01f05f155e9 100644 --- a/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java +++ b/Mage.Sets/src/mage/cards/q/QuartzwoodCrasher.java @@ -50,7 +50,7 @@ public final class QuartzwoodCrasher extends CardImpl { class QuartzwoodCrasherTriggeredAbility extends TriggeredAbilityImpl { - private final Set damagedPlayerIds = new HashSet(); + private final Set damagedPlayerIds = new HashSet<>(); QuartzwoodCrasherTriggeredAbility() { super(Zone.BATTLEFIELD, new QuartzwoodCrasherEffect(), false); @@ -78,17 +78,16 @@ class QuartzwoodCrasherTriggeredAbility extends TriggeredAbilityImpl { damagedPlayerIds.clear(); return false; } - if (event.getType() != GameEvent.EventType.DAMAGED_PLAYER - && !((DamagedPlayerEvent) event).isCombatDamage()) { - return false; - } - Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.isControlledBy(controllerId) - && creature.getAbilities(game).containsKey(TrampleAbility.getInstance().getId()) - && !damagedPlayerIds.contains(event.getTargetId())) { - damagedPlayerIds.add(event.getTargetId()); - this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); - return true; + if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER + && ((DamagedPlayerEvent) event).isCombatDamage()) { + Permanent creature = game.getPermanent(event.getSourceId()); + if (creature != null && creature.isControlledBy(controllerId) + && creature.hasAbility(TrampleAbility.getInstance().getId(), game) + && !damagedPlayerIds.contains(event.getTargetId())) { + damagedPlayerIds.add(event.getTargetId()); + this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); + return true; + } } return false; } @@ -127,7 +126,7 @@ class QuartzwoodCrasherEffect extends OneShotEffect { class QuartzwoodCrasherWatcher extends Watcher { - private final Map> damageMap = new HashMap(); + private final Map> damageMap = new HashMap<>(); QuartzwoodCrasherWatcher() { super(WatcherScope.GAME);