getTargetableCards: Fix AI NPE

This commit is contained in:
Bug Hunter
2021-04-28 21:13:19 +00:00
committed by Hans Mackowiak
parent 5f5357d28a
commit 8e4c40ba2a
2 changed files with 4 additions and 6 deletions

View File

@@ -40,10 +40,8 @@ public class PermanentNoncreatureAi extends PermanentAi {
if (host.hasSVar("OblivionRing")) {
SpellAbility effectExile = AbilityFactory.getAbility(host.getSVar("TrigExile"), host);
final ZoneType origin = ZoneType.listValueOf(effectExile.getParam("Origin")).get(0);
final TargetRestrictions tgt = effectExile.getTargetRestrictions();
final CardCollection list = CardLists.getValidCards(game.getCardsIn(origin), tgt.getValidTgts(), ai, host,
effectExile);
CardCollection targets = CardLists.getTargetableCards(list, sa);
effectExile.setActivatingPlayer(ai);
CardCollection targets = CardLists.getTargetableCards(game.getCardsIn(origin), effectExile);
if (sourceName.equals("Suspension Field")
|| sourceName.equals("Detention Sphere")) {
// existing "exile until leaves" enchantments only target

View File

@@ -232,8 +232,8 @@ public class CardLists {
public static CardCollection getTargetableCards(Iterable<Card> cardList, SpellAbility source) {
CardCollection result = CardLists.filter(cardList, CardPredicates.isTargetableBy(source));
// Filter more cards that can only be detected along with other candiates
if (source.getTargets().isEmpty() && source.getMinTargets() >= 2) {
// Filter more cards that can only be detected along with other candidates
if (source.getTargets().isEmpty() && source.usesTargeting() && source.getMinTargets() >= 2) {
CardCollection removeList = new CardCollection();
TargetRestrictions tr = source.getTargetRestrictions();
for (final Card card : cardList) {