diff --git a/.gitattributes b/.gitattributes index 6ddd59a7615..18b57c5389b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -147,11 +147,11 @@ forge-ai/src/main/java/forge/ai/ability/UntapAi.java -text forge-ai/src/main/java/forge/ai/ability/UntapAllAi.java -text forge-ai/src/main/java/forge/ai/ability/VoteAi.java -text forge-ai/src/main/java/forge/ai/ability/ZoneExchangeAi.java -text -forge-ai/src/main/java/simulation/GameCopier.java -text -forge-ai/src/main/java/simulation/GameSimulator.java -text -forge-ai/src/main/java/simulation/GameStateEvaluator.java -text -forge-ai/src/main/java/simulation/PossibleTargetSelector.java -text -forge-ai/src/main/java/simulation/SpellAbilityPicker.java -text +forge-ai/src/main/java/forge/ai/simulation/GameCopier.java -text +forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java -text +forge-ai/src/main/java/forge/ai/simulation/GameStateEvaluator.java -text +forge-ai/src/main/java/forge/ai/simulation/PossibleTargetSelector.java -text +forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java -text forge-core/.classpath -text forge-core/.project -text forge-core/.settings/org.eclipse.core.resources.prefs -text diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index cd2ab46dae2..daa8f3fa94c 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -28,7 +28,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import simulation.SpellAbilityPicker; import com.esotericsoftware.minlog.Log; import com.google.common.base.Function; @@ -36,6 +35,7 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; +import forge.ai.simulation.SpellAbilityPicker; import forge.card.CardStateName; import forge.card.CardType; import forge.card.MagicColor; diff --git a/forge-ai/src/main/java/simulation/GameCopier.java b/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java similarity index 96% rename from forge-ai/src/main/java/simulation/GameCopier.java rename to forge-ai/src/main/java/forge/ai/simulation/GameCopier.java index cf3cd4567b9..95029a8acbc 100644 --- a/forge-ai/src/main/java/simulation/GameCopier.java +++ b/forge-ai/src/main/java/forge/ai/simulation/GameCopier.java @@ -1,4 +1,4 @@ -package simulation; +package forge.ai.simulation; import java.util.*; import java.util.Map.Entry; @@ -69,6 +69,8 @@ public class GameCopier { newGame.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); newGame.getAction().checkStateEffects(true); //ensure state based effects and triggers are updated + newGame.getTriggerHandler().resetActiveTriggers(); + return newGame; } diff --git a/forge-ai/src/main/java/simulation/GameSimulator.java b/forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java similarity index 94% rename from forge-ai/src/main/java/simulation/GameSimulator.java rename to forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java index e8c9b1957b6..1feb5a23dc4 100644 --- a/forge-ai/src/main/java/simulation/GameSimulator.java +++ b/forge-ai/src/main/java/forge/ai/simulation/GameSimulator.java @@ -1,4 +1,4 @@ -package simulation; +package forge.ai.simulation; import java.util.ArrayList; import java.util.Collections; @@ -99,10 +99,8 @@ public class GameSimulator { if (!c.getOwner().getController().isAI()) { continue; } - debugPrint(c.getName()+"->"); if (c.getName().equals(origHostCard.getName())) { for (SpellAbility cSa : c.getSpellAbilities()) { - debugPrint(" "+cSa); if (cSa.getDescription().equals(sa.getDescription())) { return cSa; } @@ -159,7 +157,9 @@ public class GameSimulator { @Override public void run() { final Set allAffectedCards = new HashSet(); + simGame.getStack().addAllTriggeredAbilitiesToStack(); do { + debugPrint("Resolving:" + simGame.getStack().peekAbility()); // Resolve the top effect on the stack. simGame.getStack().resolveStack(); // Evaluate state based effects as a result of resolving stack. diff --git a/forge-ai/src/main/java/simulation/GameStateEvaluator.java b/forge-ai/src/main/java/forge/ai/simulation/GameStateEvaluator.java similarity index 96% rename from forge-ai/src/main/java/simulation/GameStateEvaluator.java rename to forge-ai/src/main/java/forge/ai/simulation/GameStateEvaluator.java index 1f1a755f81c..f69887b5bac 100644 --- a/forge-ai/src/main/java/simulation/GameStateEvaluator.java +++ b/forge-ai/src/main/java/forge/ai/simulation/GameStateEvaluator.java @@ -1,4 +1,4 @@ -package simulation; +package forge.ai.simulation; import forge.ai.ComputerUtilCard; import forge.game.Game; diff --git a/forge-ai/src/main/java/simulation/PossibleTargetSelector.java b/forge-ai/src/main/java/forge/ai/simulation/PossibleTargetSelector.java similarity index 95% rename from forge-ai/src/main/java/simulation/PossibleTargetSelector.java rename to forge-ai/src/main/java/forge/ai/simulation/PossibleTargetSelector.java index a17db47be3f..1e48526efb4 100644 --- a/forge-ai/src/main/java/simulation/PossibleTargetSelector.java +++ b/forge-ai/src/main/java/forge/ai/simulation/PossibleTargetSelector.java @@ -1,4 +1,4 @@ -package simulation; +package forge.ai.simulation; import java.util.ArrayList; import java.util.List; diff --git a/forge-ai/src/main/java/simulation/SpellAbilityPicker.java b/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java similarity index 96% rename from forge-ai/src/main/java/simulation/SpellAbilityPicker.java rename to forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java index 1dec0845a9f..9fe5e48fa4d 100644 --- a/forge-ai/src/main/java/simulation/SpellAbilityPicker.java +++ b/forge-ai/src/main/java/forge/ai/simulation/SpellAbilityPicker.java @@ -1,4 +1,4 @@ -package simulation; +package forge.ai.simulation; import java.util.ArrayList;