mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Update AI checks
This commit is contained in:
@@ -352,7 +352,7 @@ public class AiBlockController {
|
|||||||
if (ab.getApi() == ApiType.Pump && "Self".equals(ab.getParam("Defined"))) {
|
if (ab.getApi() == ApiType.Pump && "Self".equals(ab.getParam("Defined"))) {
|
||||||
String rawP = ab.getParam("NumAtt");
|
String rawP = ab.getParam("NumAtt");
|
||||||
String rawT = ab.getParam("NumDef");
|
String rawT = ab.getParam("NumDef");
|
||||||
if ("+X".equals(rawP) && "+X".equals(rawT) && "TriggerCount$NumBlockers".equals(card.getSVar("X"))) {
|
if ("+X".equals(rawP) && "+X".equals(rawT) && card.getSVar("X").startsWith("Count$Valid Creature.blockingTriggeredAttacker")) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// TODO: maybe also predict calculated bonus above certain threshold?
|
// TODO: maybe also predict calculated bonus above certain threshold?
|
||||||
|
|||||||
@@ -1286,8 +1286,8 @@ public class ComputerUtilCombat {
|
|||||||
power += Integer.parseInt(att);
|
power += Integer.parseInt(att);
|
||||||
} else {
|
} else {
|
||||||
String bonus = AbilityUtils.getSVar(sa, att);
|
String bonus = AbilityUtils.getSVar(sa, att);
|
||||||
if (bonus.contains("TriggerCount$NumBlockers")) {
|
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
|
||||||
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
||||||
} else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World
|
} else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World
|
||||||
@@ -1475,8 +1475,8 @@ public class ComputerUtilCombat {
|
|||||||
toughness += Integer.parseInt(def);
|
toughness += Integer.parseInt(def);
|
||||||
} else {
|
} else {
|
||||||
String bonus = AbilityUtils.getSVar(sa, def);
|
String bonus = AbilityUtils.getSVar(sa, def);
|
||||||
if (bonus.contains("TriggerCount$NumBlockers")) {
|
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
|
||||||
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
||||||
}
|
}
|
||||||
@@ -1507,8 +1507,8 @@ public class ComputerUtilCombat {
|
|||||||
toughness += Integer.parseInt(def);
|
toughness += Integer.parseInt(def);
|
||||||
} else {
|
} else {
|
||||||
String bonus = AbilityUtils.getSVar(sa, def);
|
String bonus = AbilityUtils.getSVar(sa, def);
|
||||||
if (bonus.contains("TriggerCount$NumBlockers")) {
|
if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) {
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1");
|
||||||
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
} else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee
|
||||||
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user