From 2f09af3ea907e72f0e591e06067d4d381eca4056 Mon Sep 17 00:00:00 2001
From: Oleg Agafonov <jaydi85@gmail.com>
Date: Fri, 7 Jun 2019 19:00:02 +0400
Subject: [PATCH] * Soulherder - fixed that it doesn't get counters on exile;

---
 Mage.Sets/src/mage/cards/s/Soulherder.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Mage.Sets/src/mage/cards/s/Soulherder.java b/Mage.Sets/src/mage/cards/s/Soulherder.java
index d1b831e784..cf19646e47 100644
--- a/Mage.Sets/src/mage/cards/s/Soulherder.java
+++ b/Mage.Sets/src/mage/cards/s/Soulherder.java
@@ -19,6 +19,7 @@ import mage.filter.common.FilterControlledCreaturePermanent;
 import mage.filter.predicate.permanent.AnotherPredicate;
 import mage.game.Game;
 import mage.game.events.GameEvent;
+import mage.game.events.ZoneChangeEvent;
 import mage.game.permanent.Permanent;
 import mage.target.common.TargetControlledCreaturePermanent;
 
@@ -88,7 +89,9 @@ class SoulherderTriggeredAbility extends ZoneChangeTriggeredAbility {
     public boolean checkTrigger(GameEvent event, Game game) {
         Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId());
         if (permanent != null && permanent.isCreature()) {
-            return super.checkTrigger(event, game);
+            // custom check cause ZoneChangeTriggeredAbility for source object only
+            ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
+            return (fromZone == null || zEvent.getFromZone() == fromZone) && (toZone == null || zEvent.getToZone() == toZone);
         }
         return false;
     }