From 16fab3ff87e33810b8a7b84d65ac9342e57bf37a Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 16 Feb 2013 08:24:18 +0000 Subject: [PATCH] - Added Marble Priest and Talruum Piper. --- .gitattributes | 2 ++ res/cardsfolder/m/marble_priest.txt | 12 ++++++++++++ res/cardsfolder/t/talruum_piper.txt | 11 +++++++++++ src/main/java/forge/game/phase/CombatUtil.java | 8 ++++++-- 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 res/cardsfolder/m/marble_priest.txt create mode 100644 res/cardsfolder/t/talruum_piper.txt diff --git a/.gitattributes b/.gitattributes index ff643c4faf5..74b6e54c46a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6290,6 +6290,7 @@ res/cardsfolder/m/maraxus.txt -text res/cardsfolder/m/maraxus_of_keld.txt svneol=native#text/plain res/cardsfolder/m/marble_chalice.txt svneol=native#text/plain res/cardsfolder/m/marble_diamond.txt svneol=native#text/plain +res/cardsfolder/m/marble_priest.txt -text res/cardsfolder/m/marble_titan.txt svneol=native#text/plain res/cardsfolder/m/marcadian_bazaar.txt -text res/cardsfolder/m/march_of_souls.txt svneol=native#text/plain @@ -10501,6 +10502,7 @@ res/cardsfolder/t/talrand_sky_summoner.txt -text res/cardsfolder/t/talrands_invocation.txt -text res/cardsfolder/t/talruum_champion.txt svneol=native#text/plain res/cardsfolder/t/talruum_minotaur.txt svneol=native#text/plain +res/cardsfolder/t/talruum_piper.txt -text res/cardsfolder/t/talus_paladin.txt svneol=native#text/plain res/cardsfolder/t/tamanoa.txt svneol=native#text/plain res/cardsfolder/t/tamiyo_the_moon_sage.txt -text diff --git a/res/cardsfolder/m/marble_priest.txt b/res/cardsfolder/m/marble_priest.txt new file mode 100644 index 00000000000..c7e27cc53dc --- /dev/null +++ b/res/cardsfolder/m/marble_priest.txt @@ -0,0 +1,12 @@ +Name:Marble Priest +ManaCost:5 +Types:Artifact Creature Cleric +Text:no text +PT:3/3 +K:All Walls able to block CARDNAME do so. +S:Mode$ PreventDamage | Source$ Wall | Target$ Card.Self | CombatDamage$ True | Description$ Prevent all combat damage that would be dealt to CARDNAME by Walls. +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/marble_priest.jpg +SetInfo:LEG|Uncommon|http://magiccards.info/scans/en/lg/231.jpg +Oracle:All Walls able to block Marble Priest do so.\nPrevent all combat damage that would be dealt to Marble Priest by Walls. +End \ No newline at end of file diff --git a/res/cardsfolder/t/talruum_piper.txt b/res/cardsfolder/t/talruum_piper.txt new file mode 100644 index 00000000000..f6cb660682f --- /dev/null +++ b/res/cardsfolder/t/talruum_piper.txt @@ -0,0 +1,11 @@ +Name:Talruum Piper +ManaCost:4 R +Types:Creature Minotaur +Text:no text +PT:3/3 +K:All creatures with flying able to block CARDNAME do so. +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/talruum_piper.jpg +SetInfo:VIS|Uncommon|http://magiccards.info/scans/en/vi/98.jpg +Oracle:All creatures with flying able to block Talruum Piper do so. +End \ No newline at end of file diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 2bdf4c3a13f..dd196fdb880 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -505,8 +505,10 @@ public class CombatUtil { final List attackersWithLure = new ArrayList(); for (final Card attacker : attackers) { if (attacker.hasStartOfKeyword("All creatures able to block CARDNAME do so.") - || (attacker.hasStartOfKeyword("CARDNAME must be blocked if able.") && combat.getBlockers(attacker) - .isEmpty())) { + || (attacker.hasStartOfKeyword("All Walls able to block CARDNAME do so.") && blocker.isType("Wall")) + || (attacker.hasStartOfKeyword("All creatures with flying able to block CARDNAME do so.") && blocker.hasKeyword("Flying")) + || (attacker.hasStartOfKeyword("CARDNAME must be blocked if able.") + && combat.getBlockers(attacker).isEmpty())) { attackersWithLure.add(attacker); } } @@ -579,6 +581,8 @@ public class CombatUtil { // if the attacker has no lure effect, but the blocker can block another // attacker with lure, the blocker can't block the former if (!attacker.hasKeyword("All creatures able to block CARDNAME do so.") + && !(attacker.hasStartOfKeyword("All Walls able to block CARDNAME do so.") && blocker.isType("Wall")) + && !(attacker.hasStartOfKeyword("All creatures with flying able to block CARDNAME do so.") && blocker.hasKeyword("Flying")) && !(attacker.hasKeyword("CARDNAME must be blocked if able.") && combat.getBlockers(attacker).isEmpty()) && !(blocker.getMustBlockCards() != null && blocker.getMustBlockCards().contains(attacker)) && CombatUtil.mustBlockAnAttacker(blocker, combat)) {