From bdbe7b25eb87ca1ca6aa1e77491c843c22e2cf3b Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 5 Jul 2013 21:32:04 +0000 Subject: [PATCH] - Fixed Vendetta and Devour in Shadow calculating LKI toughness. --- res/cardsfolder/d/devour_in_shadow.txt | 7 ++++--- res/cardsfolder/v/vendetta.txt | 7 ++++--- src/main/java/forge/card/ability/AbilityUtils.java | 12 ++++-------- .../forge/card/ability/effects/DestroyEffect.java | 6 +++++- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/res/cardsfolder/d/devour_in_shadow.txt b/res/cardsfolder/d/devour_in_shadow.txt index 09478a31197..63bb1ff8285 100644 --- a/res/cardsfolder/d/devour_in_shadow.txt +++ b/res/cardsfolder/d/devour_in_shadow.txt @@ -1,8 +1,9 @@ Name:Devour in Shadow ManaCost:B B Types:Instant -A:SP$ Destroy | Cost$ B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NoRegen$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. It can't be regenerated. You lose life equal to that creature's toughness. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X -SVar:X:Targeted$CardToughness +A:SP$ Destroy | Cost$ B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NoRegen$ True | RememberLKI$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. It can't be regenerated. You lose life equal to that creature's toughness. +SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:RememberedLKI$CardToughness SVar:Picture:http://resources.wizards.com/magic/cards/5dn/en-us/card50210.jpg Oracle:Destroy target creature. It can't be regenerated. You lose life equal to that creature's toughness. \ No newline at end of file diff --git a/res/cardsfolder/v/vendetta.txt b/res/cardsfolder/v/vendetta.txt index 27b766fb2b7..7a57870365c 100644 --- a/res/cardsfolder/v/vendetta.txt +++ b/res/cardsfolder/v/vendetta.txt @@ -1,8 +1,9 @@ Name:Vendetta ManaCost:B Types:Instant -A:SP$ Destroy | Cost$ B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. You lose life equal to that creature's toughness. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X -SVar:X:Targeted$CardToughness +A:SP$ Destroy | Cost$ B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | RememberLKI$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. You lose life equal to that creature's toughness. +SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:RememberedLKI$CardToughness SVar:Picture:http://www.wizards.com/global/images/magic/general/vendetta.jpg Oracle:Destroy target nonblack creature. It can't be regenerated. You lose life equal to that creature's toughness. \ No newline at end of file diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index cd02c11f529..173b321c408 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -397,23 +397,19 @@ public class AbilityUtils { if (calcX[0].startsWith("Remembered")) { // Add whole Remembered list to handlePaid final List list = new ArrayList(); + Card newCard = card; if (card.getRemembered().isEmpty()) { - final Card newCard = game.getCardState(card); - for (final Object o : newCard.getRemembered()) { - if (o instanceof Card) { - list.add(game.getCardState((Card) o)); - } - } + newCard = game.getCardState(card); } if (calcX[0].endsWith("LKI")) { // last known information - for (final Object o : card.getRemembered()) { + for (final Object o : newCard.getRemembered()) { if (o instanceof Card) { list.add((Card) o); } } } else { - for (final Object o : card.getRemembered()) { + for (final Object o : newCard.getRemembered()) { if (o instanceof Card) { list.add(game.getCardState((Card) o)); } diff --git a/src/main/java/forge/card/ability/effects/DestroyEffect.java b/src/main/java/forge/card/ability/effects/DestroyEffect.java index d271f85bd04..3ec3dabe330 100644 --- a/src/main/java/forge/card/ability/effects/DestroyEffect.java +++ b/src/main/java/forge/card/ability/effects/DestroyEffect.java @@ -100,9 +100,13 @@ public class DestroyEffect extends SpellAbilityEffect { destroyed = game.getAction().destroyNoRegeneration(tgtC, sa); } else { destroyed = game.getAction().destroy(tgtC, sa); - } if (destroyed && remDestroyed) { + } + if (destroyed && remDestroyed) { card.addRemembered(tgtC); } + if (sa.hasParam("RememberLKI")) { + card.addRemembered(CardUtil.getLKICopy(tgtC)); + } } }