diff --git a/src/forge/card/abilityFactory/AbilityFactory_Token.java b/src/forge/card/abilityFactory/AbilityFactory_Token.java index 75ded87e61f..5ee2aea4a94 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_Token.java +++ b/src/forge/card/abilityFactory/AbilityFactory_Token.java @@ -206,7 +206,6 @@ public class AbilityFactory_Token extends AbilityFactory { private boolean tokenCanPlayAI(SpellAbility sa){ Cost cost = sa.getPayCosts(); - HashMap params = af.getMapParams(); if (!ComputerUtil.canPayCost(sa)) // If there is a cost payment it's usually not mandatory return false; @@ -231,7 +230,7 @@ public class AbilityFactory_Token extends AbilityFactory { } //Don't generate tokens without haste before main 2 if possible - if(AllZone.Phase.isBefore(Constant.Phase.Main2) && !haste && !params.containsKey("ActivatingPhases")) + if(AllZone.Phase.isBefore(Constant.Phase.Main2) && !haste) return false; if(AllZone.Phase.isAfter(Constant.Phase.Combat_Begin) && oneShot) return false; diff --git a/src/forge/card/abilityFactory/AbilityFactory_ZoneAffecting.java b/src/forge/card/abilityFactory/AbilityFactory_ZoneAffecting.java index dd0d022f08c..e7f247a92b1 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_ZoneAffecting.java +++ b/src/forge/card/abilityFactory/AbilityFactory_ZoneAffecting.java @@ -159,6 +159,7 @@ public class AbilityFactory_ZoneAffecting { } public static boolean drawCanPlayAI(final AbilityFactory af, SpellAbility sa){ + HashMap params = af.getMapParams(); // AI cannot use this properly until he can use SAs during Humans turn if (!ComputerUtil.canPayCost(sa)) return false; @@ -195,6 +196,9 @@ public class AbilityFactory_ZoneAffecting { return true; } + if(AllZone.Phase.isBefore(Constant.Phase.Main2) && !params.containsKey("ActivatingPhases")) + return false; + double chance = .4; // 40 percent chance of milling with instant speed stuff if (AbilityFactory.isSorcerySpeed(sa)) chance = .667; // 66.7% chance for sorcery speed (since it will never activate EOT)