getMapParams moved back to AbilityFactory (since method's responsibility is also parsing)

This commit is contained in:
Maxmtg
2013-02-12 06:05:45 +00:00
parent d243a21296
commit 1b103bcd34
4 changed files with 14 additions and 13 deletions

View File

@@ -29,6 +29,7 @@ import forge.card.spellability.SpellAbilityCondition;
import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.Target;
import forge.game.zone.ZoneType;
import forge.util.FileSection;
/**
* <p>
@@ -61,7 +62,7 @@ public final class AbilityFactory {
Map<String, String> mapParams;
try {
mapParams = AbilityUtils.getMapParams(abString);
mapParams = AbilityFactory.getMapParams(abString);
}
catch (RuntimeException ex) {
throw new RuntimeException(hostCard.getName() + ": " + ex.getMessage());
@@ -304,4 +305,8 @@ public final class AbilityFactory {
return null;
}
public static final Map<String, String> getMapParams(final String abString) {
return FileSection.parseToMap(abString, "$", "|");
}
} // end class AbilityFactory

View File

@@ -28,7 +28,6 @@ import forge.game.ai.ComputerUtilCost;
import forge.game.player.AIPlayer;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.FileSection;
/**
* TODO: Write javadoc for this type.
@@ -950,10 +949,6 @@ public class AbilityUtils {
return sas;
}
public static final Map<String, String> getMapParams(final String abString) {
return FileSection.parseToMap(abString, "$", "|");
}
public static ArrayList<String> getProtectionList(final SpellAbility sa) {
final ArrayList<String> gains = new ArrayList<String>();

View File

@@ -36,7 +36,7 @@ public class ChooseGenericEffect extends SpellEffect {
final Card host = sa.getSourceCard();
final BiMap<String, String> choices = HashBiMap.create();
for (String s : Arrays.asList(sa.getParam("Choices").split(","))) {
final Map<String, String> theseParams = AbilityUtils.getMapParams(host.getSVar(s));
final Map<String, String> theseParams = AbilityFactory.getMapParams(host.getSVar(s));
choices.put(s, theseParams.get("ChoiceDescription"));
}

View File

@@ -29,6 +29,7 @@ import forge.CardLists;
import forge.CounterType;
import forge.Singletons;
import forge.card.TriggerReplacementBase;
import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils;
import forge.card.ability.ApiType;
import forge.card.cardfactory.CardFactoryUtil;
@@ -741,7 +742,7 @@ public class ComputerUtilCombat {
continue;
}
final String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
if (abilityParams.containsKey("AB") && !abilityParams.get("AB").equals("Pump")) {
continue;
}
@@ -837,7 +838,7 @@ public class ComputerUtilCombat {
continue;
}
final String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
// DealDamage triggers
if ((abilityParams.containsKey("AB") && abilityParams.get("AB").equals("DealDamage"))
@@ -993,7 +994,7 @@ public class ComputerUtilCombat {
continue;
}
final String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
if (abilityParams.containsKey("ValidTgts") || abilityParams.containsKey("Tgt")) {
continue; // targeted pumping not supported
}
@@ -1141,7 +1142,7 @@ public class ComputerUtilCombat {
continue;
}
final String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
if (abilityParams.containsKey("ValidTgts") || abilityParams.containsKey("Tgt")) {
continue; // targeted pumping not supported
}
@@ -1266,7 +1267,7 @@ public class ComputerUtilCombat {
continue;
}
String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
// Destroy triggers
if ((abilityParams.containsKey("AB") && abilityParams.get("AB").equals("Destroy"))
|| (abilityParams.containsKey("DB") && abilityParams.get("DB").equals("Destroy"))) {
@@ -1321,7 +1322,7 @@ public class ComputerUtilCombat {
continue;
}
String ability = source.getSVar(trigParams.get("Execute"));
final Map<String, String> abilityParams = AbilityUtils.getMapParams(ability);
final Map<String, String> abilityParams = AbilityFactory.getMapParams(ability);
// Destroy triggers
if ((abilityParams.containsKey("AB") && abilityParams.get("AB").equals("Destroy"))
|| (abilityParams.containsKey("DB") && abilityParams.get("DB").equals("Destroy"))) {