- The AI will no longer clone its own legendary creatures.

This commit is contained in:
Sloth
2012-10-25 21:05:06 +00:00
parent 62e2ec0f36
commit ce4ff71371
9 changed files with 20 additions and 10 deletions

View File

@@ -4,7 +4,7 @@ Types:Creature Shapeshifter
Text:no text
PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ AtLeast1 | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield.
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield.
SVar:DBCopy:DB$ Clone | Defined$ Remembered
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/clone.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:1 U
Types:Enchantment
Text:no text
K:ETBReplacement:Copy:ChooseArtifact:Optional
SVar:ChooseArtifact:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ AtLeast1 | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact on the battlefield, except it's an enchantment in addition to its other types.
SVar:ChooseArtifact:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact on the battlefield, except it's an enchantment in addition to its other types.
SVar:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Enchantment
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/copy_artifact.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:2 U
Types:Enchantment
Text:no text
K:ETBReplacement:Copy:ChooseEnchantment:Optional
SVar:ChooseEnchantment:AB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Enchantment.Other | SubAbility$ DBCopy | RememberChosen$ True | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any enchantment on the battlefield.
SVar:ChooseEnchantment:AB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Enchantment.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any enchantment on the battlefield.
SVar:DBCopy:DB$ Clone | Defined$ Remembered
SVar:RemAIDeck:True
SVar:Rarity:Rare

View File

@@ -4,7 +4,7 @@ Types:Creature Shapeshifter Ally
Text:no text
PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional
SVar:ChooseCreature:AB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Ally+Other | SubAbility$ DBCopy | RememberChosen$ True | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any Ally creature on the battlefield.
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Ally+Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any Ally creature on the battlefield.
SVar:DBCopy:DB$ Clone | Defined$ Remembered
SVar:RemRandomDeck:True
SVar:Rarity:Rare

View File

@@ -4,7 +4,7 @@ Types:Artifact Creature Shapeshifter
Text:no text
PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other,Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ AtLeast1 | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types.
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other,Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types.
SVar:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Artifact
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_metamorph.jpg

View File

@@ -4,7 +4,7 @@ Types:Creature Shapeshifter
Text:no text
PT:7/7
K:ETBReplacement:Copy:ChooseCreature:Optional
SVar:ChooseCreature:AB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield. It's still 7/7.
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield. It's still 7/7.
SVar:DBCopy:DB$ Clone | Defined$ Remembered | SetPower$ 7 | SetToughness$ 7
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/quicksilver_gargantuan.jpg

View File

@@ -5,7 +5,7 @@ Text:no text
PT:0/0
A:AB$ ChangeZone | Cost$ 1 U Return<1/Creature.attacking+unblocked> | CostDesc$ Ninjutsu 1 U | ActivationZone$ Hand | Origin$ Hand | Ninjutsu$ True | Destination$ Battlefield | Defined$ Self | SpellDescription$ (1 U, Return an unblocked attacker you control to hand: Put this card onto the battlefield from your hand tapped and attacking.)
K:ETBReplacement:Copy:ChooseCreature:Optional
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ AtLeast1 | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it's still a Ninja in addition to its other creature types.
SVar:ChooseCreature:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Creature.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it's still a Ninja in addition to its other creature types.
SVar:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Ninja
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/sakashimas_student.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:3
Types:Artifact
Text:no text
K:ETBReplacement:Copy:ChooseArtifact:Optional
SVar:ChooseArtifact:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ AtLeast1 | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact on the battlefield.
SVar:ChooseArtifact:DB$ ChooseCard | Cost$ 0 | Defined$ You | Amount$ 1 | Choices$ Artifact.Other | SubAbility$ DBCopy | RememberChosen$ True | AILogic$ Clone | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any artifact on the battlefield.
SVar:DBCopy:DB$ Clone | Defined$ Remembered
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/sculpting_steel.jpg

View File

@@ -1877,13 +1877,18 @@ public final class AbilityFactoryChoose {
choices = CardLists.filterControlledBy(choices, ai.getOpponent());
}
if (params.get("AILogic").equals("AtLeast1")) {
if (choices.size() < 1) {
if (choices.isEmpty()) {
return false;
}
} else if (params.get("AILogic").equals("AtLeast2") || params.get("AILogic").equals("BestBlocker")) {
if (choices.size() < 2) {
return false;
}
} else if (params.get("AILogic").equals("Clone")) {
choices = CardLists.getValidCards(choices, "Permanent.YouDontCtrl,Permanent.NonLegendary", host.getController(), host);
if (choices.isEmpty()) {
return false;
}
}
}
@@ -1983,10 +1988,15 @@ public final class AbilityFactoryChoose {
}
} else { // Computer
if (params.containsKey("AILogic") && params.get("AILogic").equals("BestBlocker")) {
if (CardLists.filter(choices, Presets.UNTAPPED).isEmpty()) {
if (!CardLists.filter(choices, Presets.UNTAPPED).isEmpty()) {
choices = CardLists.filter(choices, Presets.UNTAPPED);
}
chosen.add(CardFactoryUtil.getBestCreatureAI(choices));
} else if (params.containsKey("AILogic") && params.get("AILogic").equals("Clone")) {
if (!CardLists.getValidCards(choices, "Permanent.YouDontCtrl,Permanent.NonLegendary", host.getController(), host).isEmpty()) {
choices = CardLists.getValidCards(choices, "Permanent.YouDontCtrl,Permanent.NonLegendary", host.getController(), host);
}
chosen.add(CardFactoryUtil.getBestAI(choices));
} else {
chosen.add(CardFactoryUtil.getBestAI(choices));
}