From 27eee4c8fa80c10fc65eccbc0ae9da8b5779da51 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Fri, 16 Feb 2018 16:50:43 +0100 Subject: [PATCH] Card: show CantBlockBy on affected creature --- .../src/main/java/forge/game/card/Card.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 54370bf834a..298550120fa 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -1910,6 +1910,28 @@ public class Card extends GameEntity implements Comparable { } } + // CantBlockBy static abilities + if (game != null && isCreature() && isInZone(ZoneType.Battlefield)) { + for (final Card ca : game.getCardsIn(ZoneType.listValueOf("Battlefield,Command"))) { + if (equals(ca)) { + continue; + } + for (final StaticAbility stAb : ca.getStaticAbilities()) { + if (stAb.isSecondary() || + !stAb.getParam("Mode").equals("CantBlockBy") || + stAb.isSuppressed() || !stAb.checkConditions() || + !stAb.hasParam("ValidAttacker")) { + continue; + } + final Card host = stAb.getHostCard(); + if (isValid(stAb.getParam("ValidAttacker").split(","), host.getController(), host, null)) { + sb.append(stAb.toString()); + sb.append("\r\n"); + } + } + } + } + // NOTE: if (sb.toString().contains(" (NOTE: ")) { sb.insert(sb.indexOf("(NOTE: "), "\r\n");