From e65ddc6eb2e18ab3fc2a3887d6512cf555517a9f Mon Sep 17 00:00:00 2001 From: PhallenCassidy Date: Sat, 2 Jun 2018 20:27:15 -0400 Subject: [PATCH] Check allies have same home site to allow transfers Courtesy of Tbiesty! --- .../com/gempukku/lotro/filters/Filters.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java index 72314325b..a7db5ca36 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java @@ -689,6 +689,27 @@ public class Filters { } }); + public static Filter allyWithSameHome(final PhysicalCard card) { + return Filters.and( + CardType.ALLY, + new Filter() { + @Override + public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { + LotroCardBlueprint blueprint = card.getBlueprint(); + if (blueprint.getCardType() == CardType.ALLY) { + Block homeBlock = blueprint.getAllyHomeSiteBlock(); + int[] homeSites = blueprint.getAllyHomeSiteNumbers(); + for (int homeSite : homeSites) { + if (physicalCard.getBlueprint().isAllyAtHome(homeSite, homeBlock)) { + return true; + } + } + } + return false; + } + }); + } + public static final Filter currentSite = new Filter() { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {