simplified MagicCardDefinition.setAbility, separate ability name and arg in CardDefinitions

master
melvin 2011-11-15 22:24:28 +08:00
parent 53b1657058
commit 25442651de
2 changed files with 10 additions and 22 deletions

View File

@ -99,7 +99,9 @@ public class CardDefinitions {
} else if ("ability".equals(property)) {
final String names[]=value.split(",");
for (final String name : names) {
card.setAbility(MagicAbility.getAbility(name));
final MagicAbility ability = MagicAbility.getAbility(name);
final String arg = name.substring(ability.toString().length()).trim();
card.setAbility(ability, arg);
}
} else if ("given_pt".equals(property)) {
if (!card.isEquipment() && !card.isAura()) {

View File

@ -13,12 +13,6 @@ import magic.model.event.MagicPlayCardEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.event.MagicTapManaActivation;
import magic.model.event.MagicTiming;
import magic.model.trigger.MagicBattleCryTrigger;
import magic.model.trigger.MagicExaltedTrigger;
import magic.model.trigger.MagicLivingWeaponTrigger;
import magic.model.trigger.MagicEchoTrigger;
import magic.model.trigger.MagicTappedIntoPlayTrigger;
import magic.model.trigger.MagicModularTrigger;
import magic.model.trigger.MagicTrigger;
import magic.model.mstatic.MagicStatic;
import magic.model.mstatic.MagicCDA;
@ -600,22 +594,14 @@ public class MagicCardDefinition {
}
return pt;
}
public void setAbility(final MagicAbility ability) {
abilityFlags|=ability.getMask();
if (ability==MagicAbility.Exalted) {
add(MagicExaltedTrigger.getInstance());
} else if (ability==MagicAbility.BattleCry) {
add(MagicBattleCryTrigger.getInstance());
} else if (ability==MagicAbility.LivingWeapon) {
add(MagicLivingWeaponTrigger.getInstance());
} else if (ability==MagicAbility.Echo) {
add(MagicEchoTrigger.create());
} else if (ability==MagicAbility.EntersTapped) {
add(MagicTappedIntoPlayTrigger.create());
} else if (ability==MagicAbility.Modular) {
add(MagicModularTrigger.create());
}
setAbility(ability, "");
}
public void setAbility(final MagicAbility ability, final String arg) {
abilityFlags |= ability.getMask();
ability.addAbilityImpl(this, arg);
}
public long getAbilityFlags() {