- Attempting to avoid an AI logic spec (needs testing).

This commit is contained in:
Agetian
2018-11-30 09:21:44 +03:00
parent 6da3fd898f
commit 770317805c
3 changed files with 6 additions and 8 deletions

View File

@@ -298,8 +298,10 @@ public class ChangeZoneAi extends SpellAbilityAi {
} else {
if (sa.hasParam("DefinedPlayer")) {
pDefined = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("DefinedPlayer"), sa);
} else {
} else if (sa.hasParam("Defined")) {
pDefined = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("Defined"), sa);
} else {
pDefined = ai.getGame().getPlayers(); // no Defined players, assume all player zones
}
}
@@ -314,11 +316,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
}
for (final Player p : pDefined) {
// TODO: figure out how to make the AI properly establish which zones to look in for cards like Sisters of Stone Death
// without needing a separate AI logic for it (the issue is that there's no Defined/DefinedPlayer in cards like that, and
// the AI normally defaults to its own zone in these cases)
CardCollectionView list = "CheckAllPlayerZones".equals(sa.getParam("AILogic")) ? p.getGame().getCardsIn(origin)
: p.getCardsIn(origin);
CardCollectionView list = p.getCardsIn(origin);
if (type != null && p == ai) {
// AI only "knows" about his information

View File

@@ -13,7 +13,7 @@ Name:Tomb of the Dusk Rose
ManaCost:no cost
Types:Legendary Land
A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color.
A:AB$ ChangeZone | Cost$ 2 W B T | Origin$ Exile | Destination$ Battlefield | ChangeType$ Creature.IsRemembered+ExiledWithSource | Hidden$ True | Mandatory$ True | GainControl$ True | AILogic$ CheckAllPlayerZones | SpellDescription$ Put a creature card exiled with this permanent onto the battlefield under your control. | StackDescription$ SpellDescription
A:AB$ ChangeZone | Cost$ 2 W B T | Origin$ Exile | Destination$ Battlefield | ChangeType$ Creature.IsRemembered+ExiledWithSource | Hidden$ True | Mandatory$ True | GainControl$ True | SpellDescription$ Put a creature card exiled with this permanent onto the battlefield under your control. | StackDescription$ SpellDescription
SVar:Picture:http://www.wizards.com/global/images/magic/general/tomb_of_the_dusk_rose.jpg
Oracle:(Transforms from Profane Procession.)\n{T}: Add one mana of any color.\n{2}{W}{B}{T}: Put a creature card exiled with this permanent onto the battlefield under your control.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Gorgon
PT:7/5
A:AB$ MustBlock | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature blocks CARDNAME this turn if able.
A:AB$ ChangeZone | Cost$ B G | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.blockingSource,Creature.blockedBySource | TgtPrompt$ Select target creature blocking Sisters of Stone Death | RememberTargets$ True | SpellDescription$ Exile target creature blocking or blocked by CARDNAME.
A:AB$ ChangeZone | Cost$ 2 B | Origin$ Exile | Destination$ Battlefield | ChangeType$ Creature.IsRemembered+ExiledWithSource | Hidden$ True | Mandatory$ True | GainControl$ True | AILogic$ CheckAllPlayerZones | SpellDescription$ Put a creature card exiled with CARDNAME onto the battlefield under your control. | StackDescription$ SpellDescription
A:AB$ ChangeZone | Cost$ 2 B | Origin$ Exile | Destination$ Battlefield | ChangeType$ Creature.IsRemembered+ExiledWithSource | Hidden$ True | Mandatory$ True | GainControl$ True | SpellDescription$ Put a creature card exiled with CARDNAME onto the battlefield under your control. | StackDescription$ SpellDescription
T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget
SVar:DBForget:DB$ Pump | ForgetImprinted$ TriggeredCard
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ DBCleanup | Static$ True | Secondary$ True | TriggerDescription$ Forget all remembered cards.