allow ability keyword to be separated by comma
parent
e93ee8a30b
commit
27ab69c30f
|
@ -11,6 +11,7 @@ import magic.model.event.MagicPlayAuraEvent;
|
|||
import magic.model.event.MagicSpellCardEvent;
|
||||
import magic.model.event.MagicTiming;
|
||||
import magic.model.mstatic.MagicStatic;
|
||||
import magic.exception.ScriptParseException;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.text.ParseException;
|
||||
|
@ -78,11 +79,27 @@ public enum CardProperty {
|
|||
card.setAbilityProperty(value);
|
||||
}
|
||||
},
|
||||
LOAD_ABILITY_COMMA() {
|
||||
public void setProperty(final MagicCardDefinition card, final String value) {
|
||||
final String[] names=value.split(COMMA);
|
||||
for (final String name : names) {
|
||||
MagicAbility.getAbility(name).addAbility(card, name);
|
||||
}
|
||||
}
|
||||
},
|
||||
LOAD_ABILITY() {
|
||||
public void setProperty(final MagicCardDefinition card, final String value) {
|
||||
final String[] names=value.split(SEMI);
|
||||
for (final String name : names) {
|
||||
MagicAbility.getAbility(name).addAbility(card, name);
|
||||
try {
|
||||
MagicAbility.getAbility(name).addAbility(card, name);
|
||||
} catch (final ScriptParseException origPE) {
|
||||
try {
|
||||
LOAD_ABILITY_COMMA.setProperty(card, name);
|
||||
} catch (final ScriptParseException newPE) {
|
||||
throw origPE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package magic.exception;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class ScriptParseException extends RuntimeException {
|
||||
public ScriptParseException(final String msg) {
|
||||
super(msg);
|
||||
}
|
||||
}
|
|
@ -12,6 +12,7 @@ import magic.model.condition.MagicConditionFactory;
|
|||
import magic.model.condition.MagicConditionParser;
|
||||
import magic.model.trigger.MagicThiefTrigger.Player;
|
||||
import magic.model.trigger.MagicThiefTrigger.Type;
|
||||
import magic.exception.ScriptParseException;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
|
@ -1299,7 +1300,7 @@ public enum MagicAbility {
|
|||
return ability;
|
||||
}
|
||||
}
|
||||
throw new RuntimeException("unknown ability \"" + name + "\"");
|
||||
throw new ScriptParseException("unknown ability \"" + name + "\"");
|
||||
}
|
||||
|
||||
public static MagicAbilityList getAbilityList(final String[] names) {
|
||||
|
|
Loading…
Reference in New Issue