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

View File

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

View File

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

View File

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