- The AI will now check static abilities when checking possible animated blockers (Svogthos, the Restless Tomb).

This commit is contained in:
Sloth
2014-04-03 12:54:29 +00:00
parent 373e7cc9ca
commit 06dcc00517
2 changed files with 13 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ import forge.game.replacement.ReplacementHandler;
import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions; import forge.game.spellability.TargetRestrictions;
import forge.game.staticability.StaticAbility; import forge.game.staticability.StaticAbility;
import forge.game.staticability.StaticAbilityContinuous;
import forge.game.trigger.Trigger; import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerHandler; import forge.game.trigger.TriggerHandler;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -422,7 +423,12 @@ public class AnimateAi extends SpellAbilityAi {
if (stAbs.size() > 0) { if (stAbs.size() > 0) {
for (final String s : stAbs) { for (final String s : stAbs) {
final String actualAbility = source.getSVar(s); final String actualAbility = source.getSVar(s);
source.addStaticAbility(actualAbility); StaticAbility stAb = source.addStaticAbility(actualAbility);
if ("Continuous".equals(stAb.getMapParams().get("Mode"))) {
List<Card> list = new ArrayList<Card>();
list.add(source);
list = StaticAbilityContinuous.applyContinuousAbility(stAb, list);
}
} }
} }

View File

@@ -50,6 +50,11 @@ import java.util.*;
* The Class StaticAbility_Continuous. * The Class StaticAbility_Continuous.
*/ */
public class StaticAbilityContinuous { public class StaticAbilityContinuous {
public static List<Card> applyContinuousAbility(final StaticAbility stAb) {
final List<Card> affectedCards = StaticAbilityContinuous.getAffectedCards(stAb);
return applyContinuousAbility(stAb, affectedCards);
}
/** /**
* *
@@ -60,12 +65,11 @@ public class StaticAbilityContinuous {
* @return * @return
* *
*/ */
public static List<Card> applyContinuousAbility(final StaticAbility stAb) { public static List<Card> applyContinuousAbility(final StaticAbility stAb, List<Card> affectedCards) {
final Map<String, String> params = stAb.getMapParams(); final Map<String, String> params = stAb.getMapParams();
final Card hostCard = stAb.getHostCard(); final Card hostCard = stAb.getHostCard();
final StaticEffect se = new StaticEffect(hostCard); final StaticEffect se = new StaticEffect(hostCard);
final List<Card> affectedCards = StaticAbilityContinuous.getAffectedCards(stAb);
final ArrayList<Player> affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb); final ArrayList<Player> affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb);
final Game game = hostCard.getGame(); final Game game = hostCard.getGame();