From 53635ddc1a89768d321cc82fd2f8b6c032a30a26 Mon Sep 17 00:00:00 2001 From: moomarc Date: Wed, 6 Feb 2013 06:03:50 +0000 Subject: [PATCH] - Cunning Giant will now interact correctly with planeswalkers --- res/cardsfolder/c/cunning_giant.txt | 2 ++ src/main/java/forge/Card.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/res/cardsfolder/c/cunning_giant.txt b/res/cardsfolder/c/cunning_giant.txt index b7715857b4c..f11d4e21289 100644 --- a/res/cardsfolder/c/cunning_giant.txt +++ b/res/cardsfolder/c/cunning_giant.txt @@ -4,7 +4,9 @@ Types:Creature Giant Text:no text PT:4/4 R:Event$ DamageDone | ValidTarget$ Player.attackedBySourceThisCombat | ValidSource$ Card.Self+unblocked | IsCombat$ True | ReplaceWith$ ChooseVictim | Optional$ True | OptionalDecider$ You | Description$ If CARDNAME is unblocked, you may have it assign its combat damage to a creature defending player controls. +R:Event$ DamageDone | ValidTarget$ Planeswalker.attackedBySourceThisCombat | ValidSource$ Card.Self+unblocked | IsCombat$ True | ReplaceWith$ ChooseVictimPW | Optional$ True | OptionalDecider$ You | Secondary$ True | Description$ If CARDNAME is unblocked, you may have it assign its combat damage to a creature defending player controls. SVar:ChooseVictim:DB$ ChooseCard | ChoiceZone$ Battlefield | Choices$ Creature.DefenderCtrl | Amount$ 1 | ChoiceTitle$ Choose a card to deal the damage to | SubAbility$ CunningDmg +SVar:ChooseVictimPW:DB$ ChooseCard | ChoiceZone$ Battlefield | Choices$ Creature.DefenderCtrl | Amount$ 1 | ChoiceTitle$ Choose a card to deal the damage to | SubAbility$ CunningDmg SVar:CunningDmg:DB$ DealDamage | Defined$ ChosenCard | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ CunningX SVar:CunningX:ReplaceCount$DamageAmount SVar:RemAIDeck:True diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index cc3284d6ba8..e1b54f1ab9b 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -7007,6 +7007,13 @@ public class Card extends GameEntity implements Comparable { if (this.isAttacking()) { return false; } + } else if (property.equals("attackedBySourceThisCombat")) { + final GameEntity defender = Singletons.getModel().getGame().getCombat().getDefenderByAttacker(source); + if (defender instanceof Card) { + if (!this.equals((Card) defender)) { + return false; + } + } } else if (property.equals("blocking")) { if (!this.isBlocking()) { return false;