mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Merged changes from trunk to GuiRefactoring: 27379
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user