Merged changes from trunk to GuiRefactoring: 27379

This commit is contained in:
elcnesh
2014-09-14 10:04:44 +00:00
parent 00bf228e0f
commit 6188509eee
3 changed files with 13 additions and 31 deletions

View File

@@ -223,40 +223,18 @@ public class AiCardMemory {
}
/**
* Clears the "remembered attackers" memory set stored in this card memory for the given player.
* Clears the given memory set.
*/
public void clearRememberedAttackers() {
getMemorySet(MemorySet.MANDATORY_ATTACKERS).clear();
public void clearMemorySet(MemorySet set) {
getMemorySet(set).clear();
}
/**
* Clears the "remembered mana sources" memory set stored in this card memory for the given player.
*/
public void clearRememberedManaSources() {
getMemorySet(MemorySet.HELD_MANA_SOURCES).clear();
}
/**
* Clears the "remembered moved equipment" memory set stored in this card memory for the given player.
*/
public void clearRememberedMovedEquipment() {
getMemorySet(MemorySet.MOVED_EQUIPMENT).clear();
}
/**
* Clears the "remembered revealed cards" memory set stored in this card memory for the given player.
*/
//public void clearRememberedRevealedCards() {
// getMemorySet(MemorySet.REVEALED_CARDS).clear();
//}
/**
* Clears all memory sets stored in this card memory for the given player.
*/
public void clearAllRemembered() {
clearRememberedAttackers();
clearRememberedManaSources();
clearRememberedMovedEquipment();
//clearRememberedRevealedCards();
clearMemorySet(MemorySet.MANDATORY_ATTACKERS);
clearMemorySet(MemorySet.HELD_MANA_SOURCES);
clearMemorySet(MemorySet.MOVED_EQUIPMENT);
}
}

View File

@@ -637,7 +637,11 @@ public class AiController {
} // playCounterSpell()
public SpellAbility predictSpellToCastInMain2(ApiType exceptSA) {
final List<Card> cards = getAvailableCards();
return predictSpellToCastInMain2(exceptSA, true);
}
public SpellAbility predictSpellToCastInMain2(ApiType exceptSA, boolean handOnly) {
final List<Card> cards = handOnly ? player.getCardsIn(ZoneType.Hand) : getAvailableCards();
ArrayList<SpellAbility> all = getSpellAbilities(cards);
Collections.sort(all, saComparator); // put best spells first
@@ -647,7 +651,7 @@ public class AiController {
continue;
}
sa.setActivatingPlayer(player);
if (sa.canPlay() && !ComputerUtil.castPermanentInMain1(player, sa) && sa.getHostCard() != null && !sa.getHostCard().getType().contains("Land") && ComputerUtilCost.canPayCost(sa, player)) {
if (!ComputerUtil.castPermanentInMain1(player, sa) && sa.getHostCard() != null && !sa.getHostCard().getType().contains("Land") && ComputerUtilCost.canPayCost(sa, player)) {
return sa;
}
}

View File

@@ -663,7 +663,7 @@ public class ComputerUtilMana {
PhaseType curPhase = ai.getGame().getPhaseHandler().getPhase();
if (curPhase == PhaseType.MAIN2 || curPhase == PhaseType.CLEANUP) {
((PlayerControllerAi)ai.getController()).getAi().getCardMemory().clearRememberedManaSources();
((PlayerControllerAi)ai.getController()).getAi().getCardMemory().clearMemorySet(AiCardMemory.MemorySet.HELD_MANA_SOURCES);
}
else {
if (((PlayerControllerAi)ai.getController()).getAi().getCardMemory().isRememberedCard(sourceCard, AiCardMemory.MemorySet.HELD_MANA_SOURCES)) {