1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-06 01:04:10 -09:00

[BRO] fix Slagstone Refinery trigger ()

* fix Slagstone Refinery trigger

fixes  by rewritting the checkTrigger method.

* apply changes from review

* minor fix, remove unecessary import
This commit is contained in:
Susucre 2022-11-16 20:47:30 +01:00 committed by GitHub
parent 4ee59174cb
commit 038bee5402
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,7 +15,7 @@ import mage.game.permanent.token.PowerstoneToken;
import java.util.UUID; import java.util.UUID;
/** /**
* @author TheElk801 * @author TheElk801, Susucre
*/ */
public final class SlagstoneRefinery extends CardImpl { public final class SlagstoneRefinery extends CardImpl {
@ -59,10 +59,19 @@ class SlagstoneRefineryTriggeredAbility extends TriggeredAbilityImpl {
@Override @Override
public boolean checkTrigger(GameEvent event, Game game) { public boolean checkTrigger(GameEvent event, Game game) {
ZoneChangeEvent zEvent = (ZoneChangeEvent) event; ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
return zEvent.getFromZone().match(Zone.BATTLEFIELD)
&& (zEvent.getToZone().match(Zone.GRAVEYARD) || zEvent.getToZone().match(Zone.EXILED)) // Filters ZC events for only battlefield => graveyard or battlefield => exile.
&& zEvent.getTargetId().equals(getSourceId()) if (zEvent.getFromZone() == Zone.BATTLEFIELD && (zEvent.getToZone() == Zone.GRAVEYARD || zEvent.getToZone() == Zone.EXILED)) {
|| (zEvent.getTarget().isArtifact(game) && !(zEvent.getTarget() instanceof PermanentToken)); 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 @Override