From bcd9c3cc51647d5ad5532b20b15605538eb0e123 Mon Sep 17 00:00:00 2001 From: swordshine Date: Tue, 28 May 2013 12:45:34 +0000 Subject: [PATCH] - Added Endless Whispers --- .gitattributes | 1 + res/cardsfolder/e/endless_whispers.txt | 14 ++++++++++++++ src/main/java/forge/card/ability/ai/EffectAi.java | 13 ++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 res/cardsfolder/e/endless_whispers.txt diff --git a/.gitattributes b/.gitattributes index 958dcfb4695..ad91d2493e3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3268,6 +3268,7 @@ res/cardsfolder/e/endless_horizons.txt -text svneol=unset#text/plain res/cardsfolder/e/endless_ranks_of_the_dead.txt -text res/cardsfolder/e/endless_scream.txt -text res/cardsfolder/e/endless_swarm.txt -text +res/cardsfolder/e/endless_whispers.txt -text res/cardsfolder/e/endless_wurm.txt -text res/cardsfolder/e/endoskeleton.txt svneol=native#text/plain res/cardsfolder/e/endrek_sahr_master_breeder.txt -text diff --git a/res/cardsfolder/e/endless_whispers.txt b/res/cardsfolder/e/endless_whispers.txt new file mode 100644 index 00000000000..42b2edacd6f --- /dev/null +++ b/res/cardsfolder/e/endless_whispers.txt @@ -0,0 +1,14 @@ +Name:Endless Whispers +ManaCost:2 B B +Types:Enchantment +S:Mode$ Continuous | Affected$ Creature | AddTrigger$ TrigEndlessDies | AddSVar$ EndlessDelayTrigReturn & TrigEndlessGain & EndlessRemoveEffect & EndlessReturn | Description$ Each creature has "When this creature dies, choose target opponent. That player puts this card from its owner's graveyard onto the battlefield under his or her control at the beginning of the next end step." +SVar:TrigEndlessDies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | TriggerController$ TriggeredCardController | Execute$ EndlessDelayTrigReturn | TriggerDescription$ When CARDNAME dies, choose target opponent. That player puts CARDNAME from its owner's graveyard onto the battlefield under his or her control at the beginning of the next end step. +SVar:EndlessDelayTrigReturn:AB$ Effect | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to return this card under his or her control | EffectOwner$ Targeted | ImprintCards$ Self | Triggers$ TrigEndlessGain | SVars$ EndlessReturn,EndlessRemoveEffect | Duration$ Permanent +SVar:TrigEndlessGain:Mode$ Phase | Phase$ End of Turn | Execute$ EndlessReturn | TriggerZones$ Command | TriggerDescription$ Return CARDNAME to the battlefield. +SVar:EndlessReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | Defined$ Imprinted | GainControl$ True | SubAbility$ EndlessRemoveEffect +SVar:EndlessRemoveEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/endless_whispers.jpg +Oracle:Each creature has "When this creature dies, choose target opponent. That player puts this card from its owner's graveyard onto the battlefield under his or her control at the beginning of the next end step." +SetInfo:5DN Rare \ No newline at end of file diff --git a/src/main/java/forge/card/ability/ai/EffectAi.java b/src/main/java/forge/card/ability/ai/EffectAi.java index 0a3e8c910a3..59440627650 100644 --- a/src/main/java/forge/card/ability/ai/EffectAi.java +++ b/src/main/java/forge/card/ability/ai/EffectAi.java @@ -124,7 +124,18 @@ public class EffectAi extends SpellAbilityAi { @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - // TODO: Add targeting effects + + final Target tgt = sa.getTarget(); + final Player opp = aiPlayer.getOpponent(); + + if (sa.getTarget() != null) { + tgt.resetTargets(); + if (mandatory && sa.canTarget(opp)) { + sa.getTarget().addTarget(opp); + } else if (mandatory && sa.canTarget(aiPlayer)) { + sa.getTarget().addTarget(aiPlayer); + } + } return true; }