From 56df11005bf6f25bbc0348d570f728f52d69d3eb Mon Sep 17 00:00:00 2001 From: Sloth Date: Sun, 16 Jun 2013 21:00:56 +0000 Subject: [PATCH] - Prevent NPE in getDefenderByAttacker. --- src/main/java/forge/Card.java | 5 +++-- src/main/java/forge/game/phase/Combat.java | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index c97197883bb..d240b71a9b0 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6654,10 +6654,11 @@ public class Card extends GameEntity implements Comparable { */ public final boolean isAttacking(GameEntity ge) { Combat combat = getGame().getCombat(); - if (!combat.isAttacking(this)) { + GameEntity defender = combat.getDefenderByAttacker(this); + if (!combat.isAttacking(this) || defender == null) { return false; } - return combat.getDefenderByAttacker(this).equals(ge); + return defender.equals(ge); } /** diff --git a/src/main/java/forge/game/phase/Combat.java b/src/main/java/forge/game/phase/Combat.java index 54906587e35..17a599f4c94 100644 --- a/src/main/java/forge/game/phase/Combat.java +++ b/src/main/java/forge/game/phase/Combat.java @@ -272,6 +272,9 @@ public class Combat { * @return a {@link java.lang.Object} object. */ public final GameEntity getDefenderByAttacker(final Card c) { + if (!this.attackerToBandMap.containsKey(c)) { + return null; + } return this.attackerToBandMap.get(c).getDefender(); }