From 50a83c94fbd107490be916af0f19e7bb5c82bce1 Mon Sep 17 00:00:00 2001 From: jendave Date: Sun, 7 Aug 2011 00:14:43 +0000 Subject: [PATCH] - Added Condition to AF Sacrifice . - Added Feast of Worms. --- .gitattributes | 1 + res/cardsfolder/feast_of_worms.txt | 9 +++++++++ .../card/abilityFactory/AbilityFactory_Sacrifice.java | 9 +++++++++ 3 files changed, 19 insertions(+) create mode 100644 res/cardsfolder/feast_of_worms.txt diff --git a/.gitattributes b/.gitattributes index 14d29a6e4b3..3d1752faeed 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2352,6 +2352,7 @@ res/cardsfolder/fear.txt -text svneol=native#text/plain res/cardsfolder/feast_of_blood.txt -text svneol=native#text/plain res/cardsfolder/feast_of_flesh.txt -text svneol=native#text/plain res/cardsfolder/feast_of_the_unicorn.txt -text svneol=native#text/plain +res/cardsfolder/feast_of_worms.txt -text svneol=native#text/plain res/cardsfolder/feast_or_famine.txt -text svneol=native#text/plain res/cardsfolder/fecundity.txt -text svneol=native#text/plain res/cardsfolder/feebleness.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/feast_of_worms.txt b/res/cardsfolder/feast_of_worms.txt new file mode 100644 index 00000000000..a37a01e343a --- /dev/null +++ b/res/cardsfolder/feast_of_worms.txt @@ -0,0 +1,9 @@ +Name:Feast of Worms +ManaCost:3 G G +Types:Sorcery Arcane +Text:no text +A:SP$ Destroy | Cost$ 3 G G | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ SVar=DBSacrifice | SpellDescription$ Destroy target land. If that land was legendary, its controller sacrifices another land. +SVar:DBSacrifice:DB$ Sacrifice | Defined$ TargetedController | SacValid$ Land | ConditionDefined$ Targeted | ConditionPresent$ Land.Legendary | ConditionCompare$ EQ1 | ConditionDescription$ If that land was legendary, +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/feast_of_worms.jpg +End \ No newline at end of file diff --git a/src/forge/card/abilityFactory/AbilityFactory_Sacrifice.java b/src/forge/card/abilityFactory/AbilityFactory_Sacrifice.java index 2cb655dc78f..21b3fe81a01 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_Sacrifice.java +++ b/src/forge/card/abilityFactory/AbilityFactory_Sacrifice.java @@ -109,6 +109,10 @@ public class AbilityFactory_Sacrifice { else sb.append(sa.getSourceCard().getName()).append(" - "); + String conditionDesc = af.getMapParams().get("ConditionDescription"); + if (conditionDesc != null) + sb.append(conditionDesc).append(" "); + Target tgt = af.getAbTgt(); ArrayList tgts; if (tgt != null) @@ -272,6 +276,11 @@ public class AbilityFactory_Sacrifice { Card card = sa.getSourceCard(); String DrawBack = params.get("SubAbility"); + if (!AbilityFactory.checkConditional(params, sa)){ + AbilityFactory.resolveSubAbility(sa); + return; + } + // Expand Sacrifice keyword here depending on what we need out of it. String num = params.containsKey("Amount") ? params.get("Amount") : "1"; int amount = AbilityFactory.calculateAmount(card, num, sa);