* AI: fixed rollback errors on play cards with target stack (Diplomatic Escort, Not of This World, etc);

This commit is contained in:
Oleg Agafonov 2020-03-09 13:49:07 +04:00
parent 009e55c4f0
commit 86f6d39f5a
5 changed files with 126 additions and 101 deletions

View file

@ -58,7 +58,8 @@ public class TargetStackObject extends TargetObject {
public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) {
int count = 0;
for (StackObject stackObject : game.getStack()) {
if (game.getState().getPlayersInRange(sourceControllerId, game).contains(stackObject.getControllerId()) && filter.match(stackObject, sourceId, sourceControllerId, game)) {
if (game.getState().getPlayersInRange(sourceControllerId, game).contains(stackObject.getControllerId())
&& filter.match(stackObject, sourceId, sourceControllerId, game)) {
count++;
if (count >= this.minNumberOfTargets) {
return true;
@ -77,7 +78,8 @@ public class TargetStackObject extends TargetObject {
public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
Set<UUID> possibleTargets = new HashSet<>();
for (StackObject stackObject : game.getStack()) {
if (game.getState().getPlayersInRange(sourceControllerId, game).contains(stackObject.getControllerId()) && filter.match(stackObject, sourceId, sourceControllerId, game)) {
if (game.getState().getPlayersInRange(sourceControllerId, game).contains(stackObject.getControllerId())
&& filter.match(stackObject, sourceId, sourceControllerId, game)) {
possibleTargets.add(stackObject.getId());
}
}