mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +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() {
|
public void clearMemorySet(MemorySet set) {
|
||||||
getMemorySet(MemorySet.MANDATORY_ATTACKERS).clear();
|
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.
|
* Clears all memory sets stored in this card memory for the given player.
|
||||||
*/
|
*/
|
||||||
public void clearAllRemembered() {
|
public void clearAllRemembered() {
|
||||||
clearRememberedAttackers();
|
clearMemorySet(MemorySet.MANDATORY_ATTACKERS);
|
||||||
clearRememberedManaSources();
|
clearMemorySet(MemorySet.HELD_MANA_SOURCES);
|
||||||
clearRememberedMovedEquipment();
|
clearMemorySet(MemorySet.MOVED_EQUIPMENT);
|
||||||
//clearRememberedRevealedCards();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -637,7 +637,11 @@ public class AiController {
|
|||||||
} // playCounterSpell()
|
} // playCounterSpell()
|
||||||
|
|
||||||
public SpellAbility predictSpellToCastInMain2(ApiType exceptSA) {
|
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);
|
ArrayList<SpellAbility> all = getSpellAbilities(cards);
|
||||||
Collections.sort(all, saComparator); // put best spells first
|
Collections.sort(all, saComparator); // put best spells first
|
||||||
@@ -647,7 +651,7 @@ public class AiController {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
sa.setActivatingPlayer(player);
|
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;
|
return sa;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -663,7 +663,7 @@ public class ComputerUtilMana {
|
|||||||
|
|
||||||
PhaseType curPhase = ai.getGame().getPhaseHandler().getPhase();
|
PhaseType curPhase = ai.getGame().getPhaseHandler().getPhase();
|
||||||
if (curPhase == PhaseType.MAIN2 || curPhase == PhaseType.CLEANUP) {
|
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 {
|
else {
|
||||||
if (((PlayerControllerAi)ai.getController()).getAi().getCardMemory().isRememberedCard(sourceCard, AiCardMemory.MemorySet.HELD_MANA_SOURCES)) {
|
if (((PlayerControllerAi)ai.getController()).getAi().getCardMemory().isRememberedCard(sourceCard, AiCardMemory.MemorySet.HELD_MANA_SOURCES)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user