support "Searched" for cards that quasi-search many times, then change Defined

This commit is contained in:
Northmoc
2021-09-26 17:13:45 -04:00
parent bca8f9457f
commit b76f2d4705

View File

@@ -1003,6 +1003,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
} }
Long controlTimestamp = null; Long controlTimestamp = null;
if (!searchedLibrary && sa.hasParam("Searched")) {
searchedLibrary = true;
}
if (searchedLibrary) { if (searchedLibrary) {
if (decider.equals(player)) { if (decider.equals(player)) {
Map.Entry<Long, Player> searchControlPlayer = player.getControlledWhileSearching(); Map.Entry<Long, Player> searchControlPlayer = player.getControlledWhileSearching();
@@ -1038,6 +1041,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
runParams.put(AbilityKey.Target, Lists.newArrayList(player)); runParams.put(AbilityKey.Target, Lists.newArrayList(player));
decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false); decider.getGame().getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false);
} }
if (searchedLibrary && sa.hasParam("Searched")) {
searchedLibrary = false;
}
if (!defined && changeType != null) { if (!defined && changeType != null) {
fetchList = (CardCollection)AbilityUtils.filterListByType(fetchList, sa.getParam("ChangeType"), sa); fetchList = (CardCollection)AbilityUtils.filterListByType(fetchList, sa.getParam("ChangeType"), sa);