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..96fc5d4f195 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, false)) { + return false; + } + } + return true; } 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