diff --git a/.gitattributes b/.gitattributes index 7836d51c0f3..ea637f9864a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5152,6 +5152,7 @@ res/cardsfolder/razorfield_rhino.txt -text svneol=native#text/plain res/cardsfolder/razorfield_thresher.txt -text svneol=native#text/plain res/cardsfolder/razorfin_hunter.txt -text svneol=native#text/plain res/cardsfolder/razorfoot_griffin.txt -text svneol=native#text/plain +res/cardsfolder/razorgrass_screen.txt -text svneol=native#text/plain res/cardsfolder/razorjaw_oni.txt -text svneol=native#text/plain res/cardsfolder/razortooth_rats.txt -text svneol=native#text/plain res/cardsfolder/razorverge_thicket.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/razorgrass_screen.txt b/res/cardsfolder/razorgrass_screen.txt new file mode 100644 index 00000000000..19882998b9b --- /dev/null +++ b/res/cardsfolder/razorgrass_screen.txt @@ -0,0 +1,10 @@ +Name:Razorgrass Screen +ManaCost:1 +Types:Artifact Creature Wall +Text:no text +PT:2/1 +K:Defender +K:CARDNAME blocks each turn if able. +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/razorgrass_screen.jpg +End \ No newline at end of file diff --git a/src/forge/CombatUtil.java b/src/forge/CombatUtil.java index 758f44c3a94..7aefe9858cb 100644 --- a/src/forge/CombatUtil.java +++ b/src/forge/CombatUtil.java @@ -212,13 +212,19 @@ public class CombatUtil { public static boolean finishedMandatotyBlocks(Combat combat) { CardList blockers = AllZoneUtil.getCreaturesInPlay(AllZone.HumanPlayer); + CardList attackers = new CardList(combat.getAttackers()); //if a creature does not block but should, return false for(Card blocker : blockers) { - if(!combat.getAllBlockers().contains(blocker) - && (canBlockAnAttackerWithLure(blocker, combat) || - blocker.getKeyword().contains("CARDNAME blocks each turn if able."))) + //lure effects + if(!combat.getAllBlockers().contains(blocker) && canBlockAnAttackerWithLure(blocker, combat)) return false; + + //"CARDNAME blocks each turn if able." + if(!combat.getAllBlockers().contains(blocker) && blocker.getKeyword().contains("CARDNAME blocks each turn if able.")) + for(Card attacker: attackers) + if(canBlock(attacker, blocker, combat)) + return false; } return true;