- Improve AI casting of Journey to Nowhere and Oblivion Ring.

This commit is contained in:
jendave
2011-08-06 23:07:03 +00:00
parent 686a43cbac
commit 120d406e8d
3 changed files with 8 additions and 4 deletions

View File

@@ -4,8 +4,8 @@ Types:Enchantment
Text:no text
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target creature.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled card to the battlefield under its owner's control.
SVar:TrigExile:AB$ChangeZone | Cost$ 0 | TargetMin$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | ForgetOtherTargets$ True | Origin$ Battlefield | Destination$ Exile
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield
SVar:TrigExile:DB$ChangeZone | Cost$ 0 | TargetMin$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | ForgetOtherTargets$ True | Origin$ Battlefield | Destination$ Exile
SVar:TrigReturn:DB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield
SVar:PlayMain1:TRUE
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/journey_to_nowhere.jpg

View File

@@ -4,8 +4,8 @@ Types:Enchantment
Text:no text
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile another target nonland permanent.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled card to the battlefield under its owner's control.
SVar:TrigExile:AB$ChangeZone | Cost$ 0 | TargetMin$ 1 | ValidTgts$ Permanent.nonLand+Other | TgtPrompt$ Choose target nonland permanent other than Oblivion Ring | RememberTargets$ True | ForgetOtherTargets$ True | Origin$ Battlefield | Destination$ Exile
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield
SVar:TrigExile:DB$ChangeZone | Cost$ 0 | TargetMin$ 1 | IsCurse$ True | ValidTgts$ Permanent.nonLand+Other | TgtPrompt$ Choose target nonland permanent other than Oblivion Ring | RememberTargets$ True | ForgetOtherTargets$ True | Origin$ Battlefield | Destination$ Exile
SVar:TrigReturn:DB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield
SVar:PlayMain1:TRUE
SVar:Rarity:Common
SVar:Picture:http://resources.wizards.com/magic/cards/lrw/en/card139414.jpg

View File

@@ -913,6 +913,9 @@ public class AbilityFactory_ChangeZone {
}
private static boolean changeKnownUnpreferredTarget(AbilityFactory af, SpellAbility sa, boolean mandatory){
if (!mandatory)
return false;
HashMap<String,String> params = af.getMapParams();
Card source = sa.getSourceCard();
String origin = params.get("Origin");
@@ -922,6 +925,7 @@ public class AbilityFactory_ChangeZone {
CardList list = AllZoneUtil.getCardsInZone(origin);
list = list.getValidCards(tgt.getValidTgts(), AllZone.ComputerPlayer, source);
// Narrow down the list:
if (origin.equals("Battlefield")){
// filter out untargetables