- 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 Text:no text
PT:0/0 PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/clone.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/clone.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:1 U
Types:Enchantment Types:Enchantment
Text:no text Text:no text
K:ETBReplacement:Copy:ChooseArtifact:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Enchantment
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/copy_artifact.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/copy_artifact.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:2 U
Types:Enchantment Types:Enchantment
Text:no text Text:no text
K:ETBReplacement:Copy:ChooseEnchantment:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered
SVar:RemAIDeck:True SVar:RemAIDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare

View File

@@ -4,7 +4,7 @@ Types:Creature Shapeshifter Ally
Text:no text Text:no text
PT:0/0 PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare

View File

@@ -4,7 +4,7 @@ Types:Artifact Creature Shapeshifter
Text:no text Text:no text
PT:0/0 PT:0/0
K:ETBReplacement:Copy:ChooseCreature:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Artifact
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_metamorph.jpg 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 Text:no text
PT:7/7 PT:7/7
K:ETBReplacement:Copy:ChooseCreature:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered | SetPower$ 7 | SetToughness$ 7
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/quicksilver_gargantuan.jpg 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 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.) 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 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:DBCopy:DB$ Clone | Defined$ Remembered | AddTypes$ Ninja
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/sakashimas_student.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/sakashimas_student.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:3
Types:Artifact Types:Artifact
Text:no text Text:no text
K:ETBReplacement:Copy:ChooseArtifact:Optional 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:DBCopy:DB$ Clone | Defined$ Remembered
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/sculpting_steel.jpg 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()); choices = CardLists.filterControlledBy(choices, ai.getOpponent());
} }
if (params.get("AILogic").equals("AtLeast1")) { if (params.get("AILogic").equals("AtLeast1")) {
if (choices.size() < 1) { if (choices.isEmpty()) {
return false; return false;
} }
} else if (params.get("AILogic").equals("AtLeast2") || params.get("AILogic").equals("BestBlocker")) { } else if (params.get("AILogic").equals("AtLeast2") || params.get("AILogic").equals("BestBlocker")) {
if (choices.size() < 2) { if (choices.size() < 2) {
return false; 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 } else { // Computer
if (params.containsKey("AILogic") && params.get("AILogic").equals("BestBlocker")) { 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); choices = CardLists.filter(choices, Presets.UNTAPPED);
} }
chosen.add(CardFactoryUtil.getBestCreatureAI(choices)); 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 { } else {
chosen.add(CardFactoryUtil.getBestAI(choices)); chosen.add(CardFactoryUtil.getBestAI(choices));
} }