diff --git a/res/cardsfolder/b/bog_rats.txt b/res/cardsfolder/b/bog_rats.txt index 99663ce26fc..ad44f7dd65e 100644 --- a/res/cardsfolder/b/bog_rats.txt +++ b/res/cardsfolder/b/bog_rats.txt @@ -2,7 +2,7 @@ Name:Bog Rats ManaCost:B Types:Creature Rat PT:1/1 -K:CARDNAME can't be blocked by Walls. +K:CantBeBlockedBy Creature.Wall SVar:Picture:http://www.wizards.com/global/images/magic/general/bog_rats.jpg Oracle:Bog Rats can't be blocked by Walls. SetInfo:5ED Common diff --git a/res/cardsfolder/c/canopy_cover.txt b/res/cardsfolder/c/canopy_cover.txt index 67fed516d86..e7815e164dc 100644 --- a/res/cardsfolder/c/canopy_cover.txt +++ b/res/cardsfolder/c/canopy_cover.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 1 G | ValidTgts$ Creature | AILogic$ Pump -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME can't be blocked except by creatures with flying or reach. | Description$ Enchanted creature can't be blocked except by creatures with flying or reach. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ CantBeBlockedBy Creature.wihoutFlying+withoutReach | Description$ Enchanted creature can't be blocked except by creatures with flying or reach. S:Mode$ CantTarget | ValidCard$ Card.EnchantedBy | Activator$ Opponent | Description$ Enchanted creature can't be the target of spells or abilities your opponents control. SVar:Picture:http://www.wizards.com/global/images/magic/general/canopy_cover.jpg Oracle:Enchant creature\nEnchanted creature can't be blocked except by creatures with flying or reach.\nEnchanted creature can't be the target of spells or abilities your opponents control. diff --git a/res/cardsfolder/c/cloak_of_invisibility.txt b/res/cardsfolder/c/cloak_of_invisibility.txt index d474e795331..2ce953f79d3 100644 --- a/res/cardsfolder/c/cloak_of_invisibility.txt +++ b/res/cardsfolder/c/cloak_of_invisibility.txt @@ -3,7 +3,7 @@ ManaCost:U Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ U | ValidTgts$ Creature | AILogic$ Pump -S:Mode$ Continuous | Affected$ Permanent.EnchantedBy | AddKeyword$ Phasing | AddHiddenKeyword$ CARDNAME can't be blocked except by Walls. | Description$ Enchanted creature has phasing and can't be blocked except by Walls. +S:Mode$ Continuous | Affected$ Permanent.EnchantedBy | AddKeyword$ Phasing & CantBeBlockedBy Creature.Wall | Description$ Enchanted creature has phasing and can't be blocked except by Walls. SVar:Picture:http://www.wizards.com/global/images/magic/general/cloak_of_invisibility.jpg Oracle:Enchant creature\nEnchanted creature has phasing and can't be blocked except by Walls. (It phases in or out before its controller untaps during each of his or her untap steps. While it's phased out, it's treated as though it doesn't exist.) SetInfo:MIR Common \ No newline at end of file diff --git a/res/cardsfolder/e/elven_riders.txt b/res/cardsfolder/e/elven_riders.txt index 08d1f06cd47..b446d6a0188 100644 --- a/res/cardsfolder/e/elven_riders.txt +++ b/res/cardsfolder/e/elven_riders.txt @@ -1,7 +1,6 @@ Name:Elven Riders ManaCost:3 G G Types:Creature Elf -Text:CARDNAME can't be blocked except by Walls and/or creatures with flying. PT:3/3 K:CantBeBlockedBy Creature.withoutFlying+nonWall SVar:Picture:http://www.wizards.com/global/images/magic/general/elven_riders.jpg diff --git a/res/cardsfolder/e/evil_eye_of_orms_by_gore.txt b/res/cardsfolder/e/evil_eye_of_orms_by_gore.txt index 03299a44fa2..b765d745d0e 100644 --- a/res/cardsfolder/e/evil_eye_of_orms_by_gore.txt +++ b/res/cardsfolder/e/evil_eye_of_orms_by_gore.txt @@ -1,7 +1,6 @@ Name:Evil Eye of Orms-by-Gore ManaCost:4 B Types:Creature Eye -Text:CARDNAME can't be blocked except by Walls. PT:3/6 K:CantBeBlockedBy Creature.nonWall S:Mode$ Continuous | Affected$ Creature.nonEye+YouCtrl | AddHiddenKeyword$ CARDNAME can't attack. | Description$ Non-Eye creatures you control can't attack. diff --git a/res/cardsfolder/f/fleet_footed_monk.txt b/res/cardsfolder/f/fleet_footed_monk.txt index 2cc2cfcdf8f..be95d67d3b9 100644 --- a/res/cardsfolder/f/fleet_footed_monk.txt +++ b/res/cardsfolder/f/fleet_footed_monk.txt @@ -1,7 +1,6 @@ Name:Fleet-Footed Monk ManaCost:1 W Types:Creature Human Monk -Text:CARDNAME can't be blocked by creatures with power 2 or greater. PT:1/1 K:CantBeBlockedBy Creature.powerGE2 SVar:Picture:http://serv3.tcgimages.eu/img/cards/Portal/fleet_footed_monk.jpg diff --git a/res/cardsfolder/f/flow_of_maggots.txt b/res/cardsfolder/f/flow_of_maggots.txt index 81e3907a78c..988fa1a3a38 100644 --- a/res/cardsfolder/f/flow_of_maggots.txt +++ b/res/cardsfolder/f/flow_of_maggots.txt @@ -1,7 +1,6 @@ Name:Flow of Maggots ManaCost:2 B Types:Creature Insect -Text:CARDNAME can't be blocked by non-Wall creatures. PT:2/2 K:Cumulative upkeep:1 K:CantBeBlockedBy Creature.nonWall diff --git a/res/cardsfolder/g/gnat_alley_creeper.txt b/res/cardsfolder/g/gnat_alley_creeper.txt index ddb5f140673..ae1bf61cfbd 100644 --- a/res/cardsfolder/g/gnat_alley_creeper.txt +++ b/res/cardsfolder/g/gnat_alley_creeper.txt @@ -1,7 +1,6 @@ Name:Gnat Alley Creeper ManaCost:2 R Types:Creature Human Rogue -Text:CARDNAME can't be blocked by creatures with flying. PT:3/1 K:CantBeBlockedBy Creature.withFlying SVar:Picture:http://www.wizards.com/global/images/magic/general/gnat_alley_creeper.jpg diff --git a/res/cardsfolder/g/goldmeadow_dodger.txt b/res/cardsfolder/g/goldmeadow_dodger.txt index 6719912839c..008b59153dd 100644 --- a/res/cardsfolder/g/goldmeadow_dodger.txt +++ b/res/cardsfolder/g/goldmeadow_dodger.txt @@ -1,7 +1,6 @@ Name:Goldmeadow Dodger ManaCost:W Types:Creature Kithkin Rogue -Text:CARDNAME can't be blocked by creatures with power 4 or greater. PT:1/1 K:CantBeBlockedBy Creature.powerGE4 SVar:Picture:http://www.wizards.com/global/images/magic/general/goldmeadow_dodger.jpg diff --git a/res/cardsfolder/i/invisibility.txt b/res/cardsfolder/i/invisibility.txt index c27ffb660e0..8983f6136c1 100644 --- a/res/cardsfolder/i/invisibility.txt +++ b/res/cardsfolder/i/invisibility.txt @@ -3,7 +3,7 @@ ManaCost:U U Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ U U | ValidTgts$ Creature | AILogic$ Pump -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME can't be blocked except by Walls. | Description$ Enchanted creature can't be blocked except by Walls. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CantBeBlockedBy Creature.nonWall | Description$ Enchanted creature can't be blocked except by Walls. SVar:Picture:http://www.wizards.com/global/images/magic/general/invisibility.jpg Oracle:Enchant creature\nEnchanted creature can't be blocked except by Walls. SetInfo:8ED Uncommon diff --git a/res/cardsfolder/j/jovens_tools.txt b/res/cardsfolder/j/jovens_tools.txt index 42a26ae5ddd..9acb2aa38fc 100644 --- a/res/cardsfolder/j/jovens_tools.txt +++ b/res/cardsfolder/j/jovens_tools.txt @@ -1,7 +1,7 @@ Name:Joven's Tools ManaCost:6 Types:Artifact -A:AB$ Pump | Cost$ 4 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't be blocked except by Walls. | SpellDescription$ Target creature can't be blocked this turn except by Walls. +A:AB$ Pump | Cost$ 4 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ CantBeBlockedBy Creature.nonWall | SpellDescription$ Target creature can't be blocked this turn except by Walls. SVar:Picture:http://www.wizards.com/global/images/magic/general/jovens_tools.jpg Oracle:{4}, {T}: Target creature can't be blocked this turn except by Walls. SetInfo:5ED Uncommon diff --git a/res/cardsfolder/j/juggernaut.txt b/res/cardsfolder/j/juggernaut.txt index 74187db14ef..939cb1c2b1b 100644 --- a/res/cardsfolder/j/juggernaut.txt +++ b/res/cardsfolder/j/juggernaut.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Creature Juggernaut PT:5/3 K:CARDNAME attacks each turn if able. -K:CARDNAME can't be blocked by Walls. +K:CantBeBlockedBy Creature.Wall SVar:Picture:http://www.wizards.com/global/images/magic/general/juggernaut.jpg Oracle:Juggernaut attacks each turn if able.\nJuggernaut can't be blocked by Walls. SetInfo:2ED Uncommon diff --git a/res/cardsfolder/l/legion_loyalist.txt b/res/cardsfolder/l/legion_loyalist.txt index c1f2321e8f6..527bed43e09 100644 --- a/res/cardsfolder/l/legion_loyalist.txt +++ b/res/cardsfolder/l/legion_loyalist.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Soldier PT:1/1 K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | CheckSVar$ BattalionTest | SVarCompare$ GE2 | TriggerDescription$ Battalion - Whenever CARDNAME and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. -SVar:TrigPump:AB$ PumpAll | Cost$ 0 | ValidCards$ Creature.YouCtrl | KW$ First Strike & Trample & CARDNAME can't be blocked by creature tokens. +SVar:TrigPump:AB$ PumpAll | Cost$ 0 | ValidCards$ Creature.YouCtrl | KW$ First Strike & Trample & CantBeBlockedBy Creature.Token SVar:BattalionTest:Count$Valid Creature.attacking+Other SVar:Picture:http://www.wizards.com/global/images/magic/general/legion_loyalist.jpg Oracle:Haste\nBattalion - Whenever Legion Loyalist and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. diff --git a/res/cardsfolder/o/otarian_juggernaut.txt b/res/cardsfolder/o/otarian_juggernaut.txt index 55779e74b35..855f271a68e 100644 --- a/res/cardsfolder/o/otarian_juggernaut.txt +++ b/res/cardsfolder/o/otarian_juggernaut.txt @@ -2,7 +2,7 @@ Name:Otarian Juggernaut ManaCost:4 Types:Artifact Creature Juggernaut PT:2/3 -K:CARDNAME can't be blocked by Walls. +K:CantBeBlockedBy Creature.Wall S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddKeyword$ CARDNAME attacks each turn if able. | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +3/+0 and attacks each turn if able. SVar:Picture:http://www.wizards.com/global/images/magic/general/otarian_juggernaut.jpg Oracle:Otarian Juggernaut can't be blocked by Walls.\nThreshold - As long as seven or more cards are in your graveyard, Otarian Juggernaut gets +3/+0 and attacks each turn if able. diff --git a/res/cardsfolder/r/rampart_crawler.txt b/res/cardsfolder/r/rampart_crawler.txt index 664eff0ee03..09ee0e5f8c2 100644 --- a/res/cardsfolder/r/rampart_crawler.txt +++ b/res/cardsfolder/r/rampart_crawler.txt @@ -2,7 +2,7 @@ Name:Rampart Crawler ManaCost:B Types:Creature Lizard Mercenary PT:1/1 -K:CARDNAME can't be blocked by Walls. +K:CantBeBlockedBy Creature.Wall SVar:Picture:http://www.wizards.com/global/images/magic/general/rampart_crawler.jpg Oracle:Rampart Crawler can't be blocked by Walls. SetInfo:MMQ Common \ No newline at end of file diff --git a/res/cardsfolder/s/spire_tracer.txt b/res/cardsfolder/s/spire_tracer.txt index 6a4663f0f9f..9035fe8963d 100644 --- a/res/cardsfolder/s/spire_tracer.txt +++ b/res/cardsfolder/s/spire_tracer.txt @@ -2,7 +2,7 @@ Name:Spire Tracer ManaCost:G Types:Creature Elf Scott PT:1/1 -K:CARDNAME can't be blocked except by creatures with flying or reach. +K:CantBeBlockedBy Creature.withoutFlying+withoutReach SVar:Picture:http://www.wizards.com/global/images/magic/general/spire_tracer.jpg Oracle:Spire Tracer can't be blocked except by creatures with flying or reach. SetInfo:GTC Common \ No newline at end of file diff --git a/res/cardsfolder/t/tower_of_coireall.txt b/res/cardsfolder/t/tower_of_coireall.txt index 374b73e2341..1621c9b6353 100644 --- a/res/cardsfolder/t/tower_of_coireall.txt +++ b/res/cardsfolder/t/tower_of_coireall.txt @@ -1,7 +1,7 @@ Name:Tower of Coireall ManaCost:2 Types:Artifact -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ CARDNAME can't be blocked by Walls. | SpellDescription$ Target creature can't be blocked by Walls this turn. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ CantBeBlockedBy Creature.Wall | SpellDescription$ Target creature can't be blocked by Walls this turn. SVar:RemRandomDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/tower_of_coireall.jpg Oracle:{T}: Target creature can't be blocked by Walls this turn. diff --git a/res/cardsfolder/v/varchilds_crusader.txt b/res/cardsfolder/v/varchilds_crusader.txt index 597dd691a94..a296951a7e4 100644 --- a/res/cardsfolder/v/varchilds_crusader.txt +++ b/res/cardsfolder/v/varchilds_crusader.txt @@ -2,7 +2,7 @@ Name:Varchild's Crusader ManaCost:3 R Types:Creature Human Knight PT:3/2 -A:AB$ Pump | Cost$ 0 | KW$ HIDDEN CARDNAME can't be blocked except by Walls. & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ CARDNAME can't be blocked this turn except by Walls. Sacrifice CARDNAME at the beginning of the next end step. +A:AB$ Pump | Cost$ 0 | KW$ CantBeBlockedBy Creature.nonWall & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ CARDNAME can't be blocked this turn except by Walls. Sacrifice CARDNAME at the beginning of the next end step. SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/varchilds_crusader.jpg Oracle:{0}: Varchild's Crusader can't be blocked this turn except by Walls. Sacrifice Varchild's Crusader at the beginning of the next end step. diff --git a/res/cardsfolder/z/zulaport_enforcer.txt b/res/cardsfolder/z/zulaport_enforcer.txt index 94ad9b2250d..a8fec80db85 100644 --- a/res/cardsfolder/z/zulaport_enforcer.txt +++ b/res/cardsfolder/z/zulaport_enforcer.txt @@ -5,7 +5,7 @@ PT:1/1 K:Level up:4 K:maxLevel:3 S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 3 | SetToughness$ 3 | CheckSVar$ X | SVarCompare$ EQ1 | Description$ LEVEL 1-2 3/3 -S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 5 | SetToughness$ 5 | AddKeyword$ CARDNAME can't be blocked except by black creatures. | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 3+ 5/5 CARDNAME can't be blocked except by black creatures +S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 5 | SetToughness$ 5 | AddKeyword$ CantBeBlockedBy Creature.nonBlack | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 3+ 5/5 CARDNAME can't be blocked except by black creatures SVar:X:Count$Valid Card.Self+counters_GE1_LEVEL+counters_LT3_LEVEL SVar:Y:Count$Valid Card.Self+counters_GE3_LEVEL SVar:Picture:http://www.wizards.com/global/images/magic/general/zulaport_enforcer.jpg diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 249fb289888..dc178c3dc04 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -709,22 +709,6 @@ public class CombatUtil { } } - if (attacker.hasKeyword("CARDNAME can't be blocked by Walls.") && blocker.isType("Wall")) { - return false; - } - - if (attacker.hasKeyword("CARDNAME can't be blocked except by Walls.") && !blocker.isType("Wall")) { - return false; - } - - if (attacker.hasKeyword("CARDNAME can't be blocked except by black creatures.") && !blocker.isBlack()) { - return false; - } - - if (attacker.hasKeyword("CARDNAME can't be blocked by creature tokens.") && blocker.isToken()) { - return false; - } - return true; } // canBlock()