mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- AF ChangeZoneAll: when searching someone else's hand, reveal the cards in it first to the activator of the ability (since searching the zone involves seeing what's in it first).
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package forge.game.ability.effects;
|
package forge.game.ability.effects;
|
||||||
|
|
||||||
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
@@ -76,12 +77,22 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
|
|||||||
if (!libCardsYouOwn.isEmpty()) { // Only searching one's own library would fire Archive Trap's altcost
|
if (!libCardsYouOwn.isEmpty()) { // Only searching one's own library would fire Archive Trap's altcost
|
||||||
sa.getActivatingPlayer().incLibrarySearched();
|
sa.getActivatingPlayer().incLibrarySearched();
|
||||||
}
|
}
|
||||||
sa.getActivatingPlayer().getController().reveal(libCards, ZoneType.Library, sa.getActivatingPlayer());
|
if (!libCards.isEmpty()) {
|
||||||
|
sa.getActivatingPlayer().getController().reveal(libCards, ZoneType.Library, libCards.get(0).getOwner());
|
||||||
|
}
|
||||||
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||||
runParams.put("Player", sa.getActivatingPlayer());
|
runParams.put("Player", sa.getActivatingPlayer());
|
||||||
runParams.put("Target", tgtPlayers);
|
runParams.put("Target", tgtPlayers);
|
||||||
game.getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false);
|
game.getTriggerHandler().runTrigger(TriggerType.SearchedLibrary, runParams, false);
|
||||||
}
|
}
|
||||||
|
if (origin.contains(ZoneType.Hand) && sa.hasParam("Search")) {
|
||||||
|
CardCollection handCards = CardLists.filterControlledBy(CardLists.getValidCards(cards, "Card.inZoneHand", sa.getActivatingPlayer(), source),
|
||||||
|
sa.getActivatingPlayer().getOpponents());
|
||||||
|
if (!handCards.isEmpty()) {
|
||||||
|
sa.getActivatingPlayer().getController().reveal(handCards, ZoneType.Hand, handCards.get(0).getOwner());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cards = (CardCollection)AbilityUtils.filterListByType(cards, sa.getParam("ChangeType"), sa);
|
cards = (CardCollection)AbilityUtils.filterListByType(cards, sa.getParam("ChangeType"), sa);
|
||||||
|
|
||||||
if (sa.hasParam("Optional")) {
|
if (sa.hasParam("Optional")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user