- The AI will now predict P/T changes from effects in the command zone (like Jace, Architect of Thought's +1 ability).

This commit is contained in:
Sloth
2014-04-05 07:50:43 +00:00
parent aabb5888fe
commit ee88f0ab95

View File

@@ -757,6 +757,7 @@ public class ComputerUtilCombat {
// look out for continuous static abilities that only care for blocking
// creatures
final List<Card> cardList = game.getCardsIn(ZoneType.Battlefield);
cardList.addAll(game.getCardsIn(ZoneType.Command));
for (final Card card : cardList) {
for (final StaticAbility stAb : card.getStaticAbilities()) {
final Map<String, String> params = stAb.getMapParams();
@@ -786,6 +787,9 @@ public class ComputerUtilCombat {
for (Card card : game.getCardsIn(ZoneType.Battlefield)) {
theTriggers.addAll(card.getTriggers());
}
for (Card card : game.getCardsIn(ZoneType.Command)) {
theTriggers.addAll(card.getTriggers());
}
theTriggers.addAll(attacker.getTriggers());
for (final Trigger trigger : theTriggers) {
final Map<String, String> trigParams = trigger.getMapParams();
@@ -904,6 +908,9 @@ public class ComputerUtilCombat {
for (Card card : game.getCardsIn(ZoneType.Battlefield)) {
theTriggers.addAll(card.getTriggers());
}
for (Card card : game.getCardsIn(ZoneType.Command)) {
theTriggers.addAll(card.getTriggers());
}
theTriggers.addAll(attacker.getTriggers());
for (final Trigger trigger : theTriggers) {
final Map<String, String> trigParams = trigger.getMapParams();
@@ -1050,6 +1057,9 @@ public class ComputerUtilCombat {
for (Card card : game.getCardsIn(ZoneType.Battlefield)) {
theTriggers.addAll(card.getTriggers());
}
for (Card card : game.getCardsIn(ZoneType.Command)) {
theTriggers.addAll(card.getTriggers());
}
// if the defender has first strike and wither the attacker will deal
// less damage than expected
if (null != blocker) {
@@ -1065,6 +1075,7 @@ public class ComputerUtilCombat {
// look out for continuous static abilities that only care for attacking
// creatures
final List<Card> cardList = game.getCardsIn(ZoneType.Battlefield);
cardList.addAll(game.getCardsIn(ZoneType.Command));
for (final Card card : cardList) {
for (final StaticAbility stAb : card.getStaticAbilities()) {
final Map<String, String> params = stAb.getMapParams();
@@ -1227,6 +1238,9 @@ public class ComputerUtilCombat {
for (Card card : game.getCardsIn(ZoneType.Battlefield)) {
theTriggers.addAll(card.getTriggers());
}
for (Card card : game.getCardsIn(ZoneType.Command)) {
theTriggers.addAll(card.getTriggers());
}
if (blocker != null) {
toughness += attacker.getKeywordMagnitude("Bushido");
theTriggers.addAll(blocker.getTriggers());