- 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.TargetRestrictions;
import forge.game.staticability.StaticAbility;
import forge.game.staticability.StaticAbilityContinuous;
import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerHandler;
import forge.game.zone.ZoneType;
@@ -422,7 +423,12 @@ public class AnimateAi extends SpellAbilityAi {
if (stAbs.size() > 0) {
for (final String s : stAbs) {
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

@@ -51,6 +51,11 @@ import java.util.*;
*/
public class StaticAbilityContinuous {
public static List<Card> applyContinuousAbility(final StaticAbility stAb) {
final List<Card> affectedCards = StaticAbilityContinuous.getAffectedCards(stAb);
return applyContinuousAbility(stAb, affectedCards);
}
/**
*
* TODO Write javadoc for this method.
@@ -60,12 +65,11 @@ public class StaticAbilityContinuous {
* @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 Card hostCard = stAb.getHostCard();
final StaticEffect se = new StaticEffect(hostCard);
final List<Card> affectedCards = StaticAbilityContinuous.getAffectedCards(stAb);
final ArrayList<Player> affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb);
final Game game = hostCard.getGame();