From 5bce17ab3cfb85d36e9b9682917f340c835ee966 Mon Sep 17 00:00:00 2001 From: TRT <> Date: Wed, 17 Nov 2021 11:05:39 +0100 Subject: [PATCH] Add NPE Guards --- forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java | 4 ++-- forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java | 4 ++-- forge-ai/src/main/java/forge/ai/ability/DigAi.java | 4 ++-- forge-ai/src/main/java/forge/ai/ability/TokenAi.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index c6cee2f39d4..2b621d1003a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -1764,7 +1764,7 @@ public class ChangeZoneAi extends SpellAbilityAi { @Override public Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable options, Map params) { // Called when attaching Aura to player or adding creature to combat - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return (Player) ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } return AttachAi.attachToPlayerAIPreferences(ai, sa, true, (List)options); @@ -1772,7 +1772,7 @@ public class ChangeZoneAi extends SpellAbilityAi { @Override protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } // should not be reached diff --git a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java index e17bdd279ec..f5a60501da9 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -247,7 +247,7 @@ public class CopyPermanentAi extends SpellAbilityAi { @Override protected Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return (Player) ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } final List cards = new PlayerCollection(options).getCreaturesInPlay(); @@ -257,7 +257,7 @@ public class CopyPermanentAi extends SpellAbilityAi { @Override protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } // should not be reached diff --git a/forge-ai/src/main/java/forge/ai/ability/DigAi.java b/forge-ai/src/main/java/forge/ai/ability/DigAi.java index f6f42a8d193..e16d8ce48df 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigAi.java @@ -189,7 +189,7 @@ public class DigAi extends SpellAbilityAi { */ @Override public Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return (Player) ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } // an opponent choose a card from @@ -198,7 +198,7 @@ public class DigAi extends SpellAbilityAi { @Override protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } // should not be reached diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index 5451a516580..69ce9ce0117 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -314,7 +314,7 @@ public class TokenAi extends SpellAbilityAi { */ @Override protected Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return (Player) ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } return Iterables.getFirst(options, null); @@ -325,7 +325,7 @@ public class TokenAi extends SpellAbilityAi { */ @Override protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable options, Map params) { - if (params.containsKey("Attacker")) { + if (params != null && params.containsKey("Attacker")) { return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), new FCollection(options)); } // should not be reached