From 3ef7b21654498dbf08ebfa030b69853827547848 Mon Sep 17 00:00:00 2001 From: Sloth Date: Thu, 25 Aug 2011 11:01:10 +0000 Subject: [PATCH] - Little updates in CombatUtil. --- src/main/java/forge/CombatUtil.java | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/forge/CombatUtil.java b/src/main/java/forge/CombatUtil.java index 5f870c9ea81..0354b146179 100644 --- a/src/main/java/forge/CombatUtil.java +++ b/src/main/java/forge/CombatUtil.java @@ -309,18 +309,6 @@ public class CombatUtil { if (!attacker.hasKeyword("All creatures able to block CARDNAME do so.") && canBlockAnAttackerWithLure(blocker, combat)) return false; - if (blocker.hasStartOfKeyword("CARDNAME can't block ")) { - for (String kw : blocker.getKeyword()) { - if (kw.startsWith("CARDNAME can't block ")) { - String unblockableCard = kw.substring(21); - int ID = Integer.parseInt(unblockableCard.substring(unblockableCard.lastIndexOf("(") + 1, unblockableCard.length() - 1)); - if (attacker.getUniqueNumber() == ID) { - return false; - } - } - } - } - return canBlock(attacker, blocker); } @@ -341,6 +329,18 @@ public class CombatUtil { if (canBeBlocked(attacker) == false) return false; if (CardFactoryUtil.hasProtectionFrom(blocker, attacker)) return false; + + if (blocker.hasStartOfKeyword("CARDNAME can't block ")) { + for (String kw : blocker.getKeyword()) { + if (kw.startsWith("CARDNAME can't block ")) { + String unblockableCard = kw.substring(21); + int ID = Integer.parseInt(unblockableCard.substring(unblockableCard.lastIndexOf("(") + 1, unblockableCard.length() - 1)); + if (attacker.getUniqueNumber() == ID) { + return false; + } + } + } + } //rare case: if (blocker.hasKeyword("Shadow") @@ -1225,7 +1225,9 @@ public class CombatUtil { public static int predictToughnessBonusOfAttacker(Card attacker, Card defender, Combat combat) { int toughness = 0; - toughness += attacker.getKeywordMagnitude("Bushido"); + if (defender != null) { + toughness += attacker.getKeywordMagnitude("Bushido"); + } ArrayList registeredTriggers = AllZone.getTriggerHandler().getRegisteredTriggers(); for (Trigger trigger : registeredTriggers) {