mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Decoupled the sac target and search goal in AI BirthingPod.
This commit is contained in:
@@ -81,17 +81,20 @@ public class SpecialCardAi {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
String definedPref = StringUtils.split(source.getSVar("AIPreference"), "$")[1];
|
String definedSac = StringUtils.split(source.getSVar("AIPreference"), "$")[1];
|
||||||
String overridePrefix = definedPref.contains(".") ? definedPref + "+" : definedPref + ".";
|
String definedGoal = sa.hasParam("AISearchGoal") ? sa.getParam("AISearchGoal") : "Creature";
|
||||||
|
|
||||||
CardCollection listToSac = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardPredicates.restriction(definedPref.split(","), ai, source, sa));
|
System.out.println("sac = " + definedSac + ", goal = " + definedGoal);
|
||||||
|
String overridePrefix = definedGoal.contains(".") ? definedGoal + "+" : definedGoal + ".";
|
||||||
|
|
||||||
|
CardCollection listToSac = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardPredicates.restriction(definedSac.split(","), ai, source, sa));
|
||||||
listToSac.sort(!sacWorst ? CardLists.CmcComparatorInv : Collections.reverseOrder(CardLists.CmcComparatorInv));
|
listToSac.sort(!sacWorst ? CardLists.CmcComparatorInv : Collections.reverseOrder(CardLists.CmcComparatorInv));
|
||||||
|
|
||||||
for (Card sacCandidate : listToSac) {
|
for (Card sacCandidate : listToSac) {
|
||||||
int sacCMC = sacCandidate.getCMC();
|
int sacCMC = sacCandidate.getCMC();
|
||||||
int goalCMC = sacCMC + 1;
|
int goalCMC = sacCMC + 1;
|
||||||
|
|
||||||
CardCollection listGoal = CardLists.filter(ai.getCardsIn(ZoneType.Library), CardPredicates.restriction(definedPref.split(","), ai, source, sa));
|
CardCollection listGoal = CardLists.filter(ai.getCardsIn(ZoneType.Library), CardPredicates.restriction(definedGoal.split(","), ai, source, sa));
|
||||||
|
|
||||||
if (!anyCMC) {
|
if (!anyCMC) {
|
||||||
// e.g. Birthing Pod - ensure we have a valid card to upgrade to
|
// e.g. Birthing Pod - ensure we have a valid card to upgrade to
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Name:Natural Order
|
Name:Natural Order
|
||||||
ManaCost:2 G G
|
ManaCost:2 G G
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ ChangeZone | Cost$ 2 G G Sac<1/Creature.Green/green creature> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Green | ChangeNum$ 1 | AILogic$ BirthingPod.SacWorst+AnyCMCGoal | SpellDescription$ Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.
|
A:SP$ ChangeZone | Cost$ 2 G G Sac<1/Creature.Green/green creature> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Green | ChangeNum$ 1 | AILogic$ BirthingPod.SacWorst+AnyCMCGoal | AISearchGoal$ Creature.Green | SpellDescription$ Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.
|
||||||
# AI Preference is needed to make the AI consider the ability. Further constraints are defined by AILogic BirthingPod.
|
# AI Preference is needed to make the AI consider the ability. Further constraints are defined by AILogic BirthingPod.
|
||||||
SVar:AIPreference:SacCost$Creature.Green
|
SVar:AIPreference:SacCost$Creature.Green
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/natural_order.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/natural_order.jpg
|
||||||
|
|||||||
Reference in New Issue
Block a user