From 77110bbc5a50c9312781957c2e5b9e560f4e3dfe Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 16 Sep 2017 23:07:33 -0400 Subject: [PATCH 1/2] Fixed Admiral Beckett Brass trigger (#4006) --- .../src/mage/cards/a/AdmiralBeckettBrass.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java index 77f6f600259..84b6dcd8c19 100644 --- a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java +++ b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java @@ -53,6 +53,7 @@ import mage.filter.predicate.Predicate; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; +import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.target.common.TargetNonlandPermanent; @@ -85,9 +86,8 @@ public class AdmiralBeckettBrass extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); // At the beginning of your end step, gain control of target nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn. - Ability ability = new BeginningOfEndStepTriggeredAbility(new GainControlTargetEffect(Duration.Custom) - .setText("gain control of target nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn"), TargetController.YOU, false); - ability.addTarget(new TargetNonlandPermanent()); + Ability ability = new BeginningOfEndStepTriggeredAbility(new GainControlTargetEffect(Duration.Custom), TargetController.YOU, false); + ability.addTarget(new TargetNonlandPermanent(new FilterNonlandPermanent("nonland permanent controlled by a player who was dealt combat damage by three or more Pirates this turn"))); originalId = ability.getOriginalId(); this.addAbility(ability, new DamagedByPiratesWatcher()); } @@ -138,15 +138,17 @@ class DamagedByPiratesWatcher extends Watcher { @Override public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER && event.getFlag()) { - Permanent creature = game.getPermanentOrLKIBattlefield(event.getSourceId()); - if (creature != null && creature.getSubtype(game).contains(SubType.PIRATE)) { - if (damageSourceIds.keySet().contains(event.getTargetId())) { - damageSourceIds.get(event.getTargetId()).add(creature.getId()); - } else { - Set creatureSet = new HashSet(); - creatureSet.add(creature.getId()); - damageSourceIds.put(event.getTargetId(), creatureSet); + if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER) { + if (((DamagedPlayerEvent) event).isCombatDamage()) { + Permanent creature = game.getPermanentOrLKIBattlefield(event.getSourceId()); + if (creature != null && creature.getSubtype(game).contains(SubType.PIRATE)) { + if (damageSourceIds.keySet().contains(event.getTargetId())) { + damageSourceIds.get(event.getTargetId()).add(creature.getId()); + } else { + Set creatureSet = new HashSet(); + creatureSet.add(creature.getId()); + damageSourceIds.put(event.getTargetId(), creatureSet); + } } } } From 60f7b5bcbf9f0c4952a5ab46d058b03acc54319c Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 16 Sep 2017 23:18:08 -0400 Subject: [PATCH 2/2] Fixed Sunrise Seeker --- Mage.Sets/src/mage/cards/s/SunriseSeeker.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SunriseSeeker.java b/Mage.Sets/src/mage/cards/s/SunriseSeeker.java index 66deabb826a..c5194fb74aa 100644 --- a/Mage.Sets/src/mage/cards/s/SunriseSeeker.java +++ b/Mage.Sets/src/mage/cards/s/SunriseSeeker.java @@ -29,7 +29,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.keyword.ExploreSourceEffect; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; @@ -55,7 +55,7 @@ public class SunriseSeeker extends CardImpl { this.addAbility(VigilanceAbility.getInstance()); // When Sunrise Seeker enters the battlefield, it explores. - this.addAbility(new EntersBattlefieldAbility(new ExploreSourceEffect())); + this.addAbility(new EntersBattlefieldTriggeredAbility(new ExploreSourceEffect())); } public SunriseSeeker(final SunriseSeeker card) {