mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
- A better strategy for Mirror Entity Avatar (more conservative / more aggressive depending on conditions).
This commit is contained in:
@@ -78,10 +78,6 @@ public class ChooseTypeAi extends SpellAbilityAi {
|
|||||||
if (ComputerUtilCard.isUselessCreature(aiPlayer, oppCre)) {
|
if (ComputerUtilCard.isUselessCreature(aiPlayer, oppCre)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// TODO: should low-power tokens be considered here?
|
|
||||||
if (oppCre.isToken() && oppCre.getCurrentPower() < 2 && oppCre.getCurrentToughness() < 3) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (oppCre.getCurrentPower() > maxOppPower) {
|
if (oppCre.getCurrentPower() > maxOppPower) {
|
||||||
maxOppPower = oppCre.getCurrentPower();
|
maxOppPower = oppCre.getCurrentPower();
|
||||||
}
|
}
|
||||||
@@ -99,7 +95,13 @@ public class ChooseTypeAi extends SpellAbilityAi {
|
|||||||
avgPower += c.getCurrentPower();
|
avgPower += c.getCurrentPower();
|
||||||
}
|
}
|
||||||
avgPower /= cre.size();
|
avgPower /= cre.size();
|
||||||
if (maxX > avgPower && maxX > maxOppPower && maxX > maxOppToughness && cre.size() >= oppUsefulCreatures) {
|
|
||||||
|
boolean overpower = cre.size() >= oppUsefulCreatures && maxX > maxOppPower && maxX >= maxOppToughness;
|
||||||
|
if (!overpower) {
|
||||||
|
maxX = Math.max(0, maxX - 3); // conserve some mana unless the board position looks overpowering
|
||||||
|
}
|
||||||
|
|
||||||
|
if (maxX > avgPower) {
|
||||||
sa.setSVar("PayX", String.valueOf(maxX));
|
sa.setSVar("PayX", String.valueOf(maxX));
|
||||||
AiCardMemory.rememberCard(aiPlayer, sa.getHostCard(), AiCardMemory.MemorySet.ANIMATED_THIS_TURN);
|
AiCardMemory.rememberCard(aiPlayer, sa.getHostCard(), AiCardMemory.MemorySet.ANIMATED_THIS_TURN);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user