diff --git a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java index d94b1ea60f1..3a24bbc6ea4 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java @@ -227,16 +227,18 @@ public class ControlGainAi extends SpellAbilityAi { t = ComputerUtilCard.getMostExpensivePermanentAI(list, sa, true); } - if (t.isCreature()) - creatures--; - if (t.isPlaneswalker()) - planeswalkers--; - if (t.isLand()) - lands--; - if (t.isArtifact()) - artifacts--; - if (t.isEnchantment()) - enchantments--; + if (t != null) { + if (t.isCreature()) + creatures--; + if (t.isPlaneswalker()) + planeswalkers--; + if (t.isLand()) + lands--; + if (t.isArtifact()) + artifacts--; + if (t.isEnchantment()) + enchantments--; + } if (!sa.canTarget(t)) { list.remove(t); diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index 90b07f390cd..3017e615679 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -889,6 +889,10 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit } public final boolean canTarget(final GameObject entity) { + if (entity == null) { + return false; + } + final TargetRestrictions tr = getTargetRestrictions(); // Restriction related to this ability