From 038bee54024f66475d546f7733185f5fabd54efc Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Wed, 16 Nov 2022 20:47:30 +0100 Subject: [PATCH] [BRO] fix Slagstone Refinery trigger (#9761) * fix Slagstone Refinery trigger fixes #9755 by rewritting the checkTrigger method. * apply changes from review * minor fix, remove unecessary import --- .../src/mage/cards/s/SlagstoneRefinery.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/SlagstoneRefinery.java b/Mage.Sets/src/mage/cards/s/SlagstoneRefinery.java index 581b7fab271..635d5590fc4 100644 --- a/Mage.Sets/src/mage/cards/s/SlagstoneRefinery.java +++ b/Mage.Sets/src/mage/cards/s/SlagstoneRefinery.java @@ -15,7 +15,7 @@ import mage.game.permanent.token.PowerstoneToken; import java.util.UUID; /** - * @author TheElk801 + * @author TheElk801, Susucre */ public final class SlagstoneRefinery extends CardImpl { @@ -59,10 +59,19 @@ class SlagstoneRefineryTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - return zEvent.getFromZone().match(Zone.BATTLEFIELD) - && (zEvent.getToZone().match(Zone.GRAVEYARD) || zEvent.getToZone().match(Zone.EXILED)) - && zEvent.getTargetId().equals(getSourceId()) - || (zEvent.getTarget().isArtifact(game) && !(zEvent.getTarget() instanceof PermanentToken)); + + // Filters ZC events for only battlefield => graveyard or battlefield => exile. + if (zEvent.getFromZone() == Zone.BATTLEFIELD && (zEvent.getToZone() == Zone.GRAVEYARD || zEvent.getToZone() == Zone.EXILED)) { + if(zEvent.getTargetId().equals(getSourceId())) { // {this} + return true; + } else { // another + return zEvent.getTarget().isArtifact(game) // artifact + && !(zEvent.getTarget() instanceof PermanentToken) // nontoken + && (zEvent.getTarget().getControllerId().equals(getControllerId())); // you control + } + } + + return false; } @Override