mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
- The AI will no longer clone its own legendary creatures.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user