From 1ebde0d9763c043c25f0698206212d019272f764 Mon Sep 17 00:00:00 2001 From: Agetian Date: Thu, 14 Mar 2019 16:56:23 +0300 Subject: [PATCH 1/3] - Fix LifeLoseAI not targeting for subabilities like Revenge. --- forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java index 8966067b3aa..b342cc418db 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java @@ -51,6 +51,13 @@ public class LifeLoseAi extends SpellAbilityAi { if (tgtPlayers.contains(ai) && amount > 0 && amount + 3 > ai.getLife()) { return false; } + + if (sa.usesTargeting()) { + if (!doTgt(ai, sa, sa.isMandatory())) { + return false; + } + } + return true; } From bc75331809b415b55aebb655316be24d14b330c2 Mon Sep 17 00:00:00 2001 From: Agetian Date: Thu, 14 Mar 2019 18:32:25 +0300 Subject: [PATCH 2/3] - sa.isMandatory(): always false for subabilities, no reason to check. --- forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java index b342cc418db..96fc5d4f195 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeLoseAi.java @@ -53,7 +53,7 @@ public class LifeLoseAi extends SpellAbilityAi { } if (sa.usesTargeting()) { - if (!doTgt(ai, sa, sa.isMandatory())) { + if (!doTgt(ai, sa, false)) { return false; } } From 1ac44351c620266c24d92ea56cb90604d2797035 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Fri, 15 Mar 2019 11:28:53 +0000 Subject: [PATCH 3/3] Some Card patches --- forge-gui/res/cardsfolder/f/fell_specter.txt | 4 ++-- forge-gui/res/cardsfolder/g/gravewaker.txt | 2 +- forge-gui/res/cardsfolder/s/suncleanser.txt | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/forge-gui/res/cardsfolder/f/fell_specter.txt b/forge-gui/res/cardsfolder/f/fell_specter.txt index 7e7e9c2fa3c..db2fa034b86 100644 --- a/forge-gui/res/cardsfolder/f/fell_specter.txt +++ b/forge-gui/res/cardsfolder/f/fell_specter.txt @@ -1,10 +1,10 @@ Name:Fell Specter ManaCost:3 B Types:Creature Specter +PT:1/3 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, target opponent discard a card. SVar:TrigDiscard:DB$Discard | ValidTgts$ Opponent | TgtPrompt$ Select an opponent | NumCards$ 1 | Mode$ TgtChoose T:Mode$ Discarded | ValidCard$ Card.OppOwn | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever an opponent discards a card, that player loses 2 life. SVar:TrigLoseLife:DB$ LoseLife | Defined$ TriggeredCardController | LifeAmount$ 2 -Oracle: When CARDNAME enters the battlefield, target opponent discard a card.\nWhenever an opponent discards a card, that player loses 2 life. -PT:1/3 \ No newline at end of file +Oracle: When Fell Specter enters the battlefield, target opponent discard a card.\nWhenever an opponent discards a card, that player loses 2 life. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/g/gravewaker.txt b/forge-gui/res/cardsfolder/g/gravewaker.txt index 73623446015..46a5bff5158 100644 --- a/forge-gui/res/cardsfolder/g/gravewaker.txt +++ b/forge-gui/res/cardsfolder/g/gravewaker.txt @@ -3,5 +3,5 @@ ManaCost:4 B B Types:Creature Bird Spirit PT:5/5 K:Flying -A:AB$ ChangeZone | Cost$ 5 B B | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | Tapped$ True +A:AB$ ChangeZone | Cost$ 5 B B | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | Tapped$ True | SpellDescription$ Return target creature card from your graveyard to the battlefield tapped. Oracle:Flying\n{5}{B}{B}: Return target creature card from your graveyard to the battlefield tapped. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/s/suncleanser.txt b/forge-gui/res/cardsfolder/s/suncleanser.txt index 77edd05cce7..f583334b479 100644 --- a/forge-gui/res/cardsfolder/s/suncleanser.txt +++ b/forge-gui/res/cardsfolder/s/suncleanser.txt @@ -1,11 +1,11 @@ Name:Suncleanser ManaCost:1 W Types:Creature Human Cleric -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigCharm | TriggerDescription$ When CARDNAME enters the battlefield, choose one —\n• Remove all counters from target creature. It can't have counters put on it for as long as CARDNAME remains on the battlefield.\n• Target opponent loses all counters. That player can't get counters for as long as CARDNAME remains on the battlefield. +PT:1/4 +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigCharm | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ CreatureDBRemoveCounter,OpponentDBRemoveCounter | CharmNum$ 1 SVar:CreatureDBRemoveCounter:DB$ RemoveCounter | ValidTgts$ Creature | RememberObjects$ Targeted | TgtPrompt$ Select target creature | CounterType$ All | CounterNum$ All | SubAbility$ DBPumpCreature | SpellDescription$ Remove all counters from target creature. It can't have counters put on it for as long as CARDNAME remains on the battlefield. SVar:OpponentDBRemoveCounter:DB$ RemoveCounter | ValidTgts$ Opponent | RememberObjects$ Targeted | TgtPrompt$ Select target opponent | CounterType$ All | CounterNum$ All | SubAbility$ DBPumpOpponent | SpellDescription$ Target opponent loses all counters. That player can't get counters for as long as CARDNAME remains on the battlefield. SVar:DBPumpCreature:DB$ Pump | Defined$ Targeted | KW$ CARDNAME can't have counters put on it. | UntilLoseControlOfHost$ True SVar:DBPumpOpponent:DB$ Pump | Defined$ Targeted | KW$ PLAYER can't have counters put on him or her. | UntilLoseControlOfHost$ True -Oracle:When Suncleanser enters the battlefield, choose one —\n• Remove all counters from target creature. It can't have counters put on it for as long as Suncleanser remains on the battlefield.\n• Target opponent loses all counters. That player can't get counters for as long as Suncleanser remains on the battlefield. -PT:1/4 \ No newline at end of file +Oracle:When Suncleanser enters the battlefield, choose one —\n• Remove all counters from target creature. It can't have counters put on it for as long as Suncleanser remains on the battlefield.\n• Target opponent loses all counters. That player can't get counters for as long as Suncleanser remains on the battlefield. \ No newline at end of file