CardFactoryUtil: moved Transmute to new Format

This commit is contained in:
Hanmac
2016-11-16 12:02:14 +00:00
parent 72df8e241b
commit b5f30b687f
2 changed files with 21 additions and 14 deletions

View File

@@ -1463,7 +1463,7 @@ public class Card extends GameEntity implements Comparable<Card> {
} else if (keyword.startsWith("Equip") || keyword.startsWith("Fortify") || keyword.startsWith("Outlast")
|| keyword.startsWith("Unearth") || keyword.startsWith("Scavenge") || keyword.startsWith("Ninjutsu")
|| keyword.startsWith("Evoke") || keyword.startsWith("Bestow") || keyword.startsWith("Dash")
|| keyword.startsWith("Surge")) {
|| keyword.startsWith("Surge") || keyword.startsWith("Transmute")) {
// keyword parsing takes care of adding a proper description
} else if (keyword.startsWith("CantBeBlockedBy")) {
sbLong.append(getName()).append(" can't be blocked ");

View File

@@ -2109,19 +2109,7 @@ public class CardFactoryUtil {
addSpellAbility(keyword, card, null);
}
else if (keyword.startsWith("Transmute")) {
card.removeIntrinsicKeyword(keyword);
final String manacost = keyword.split(":")[1];
final String sbTransmute = "AB$ ChangeZone | Cost$ " + manacost + " Discard<1/CARDNAME>"
+ " | CostDesc$ Transmute " + ManaCostParser.parse(manacost)+ " | ActivationZone$ Hand"
+ " | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQ" + card.getManaCost().getCMC()
+ " | ChangeNum$ 1 | SorcerySpeed$ True | References$ TransmuteX | SpellDescription$ ("
+ ManaCostParser.parse(manacost) + ", Discard this card: Search your library for a card "
+ "with the same converted mana cost as the discarded card, reveal that card, "
+ "and put it into your hand. Then shuffle your library. Activate this ability "
+ "only any time you could cast a sorcery.)";
final SpellAbility abTransmute = AbilityFactory.getAbility(sbTransmute, card);
card.addSpellAbility(abTransmute);
card.getCurrentState().addUnparsedAbility(sbTransmute);
addSpellAbility(keyword, card, null);
}
else if (keyword.startsWith("Soulshift")) {
addTriggerAbility(keyword, card, null);
@@ -3708,6 +3696,25 @@ public class CardFactoryUtil {
kws.addSpellAbility(newSA);
}
card.addSpellAbility(newSA);
} else if (keyword.startsWith("Transmute")) {
final String[] k = keyword.split(":");
final String manacost = k[1];
final String effect = "AB$ ChangeZone | Cost$ " + manacost + " Discard<1/CARDNAME>"
+ " | PrecostDesc$ Transmute | CostDesc$ " + ManaCostParser.parse(manacost) + " | ActivationZone$ Hand"
+ " | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQ" + card.getManaCost().getCMC()
+ " | ChangeNum$ 1 | SorcerySpeed$ True | StackDescription$ SpellDescription | SpellDescription$ ("
+ Keyword.getInstance(keyword).getReminderText() + ")";
final SpellAbility sa = AbilityFactory.getAbility(effect, card);
if (!intrinsic) {
sa.setTemporary(true);
sa.setIntrinsic(false);
//sa.setOriginalHost(hostCard);
kws.addSpellAbility(sa);
}
card.addSpellAbility(sa);
} else if (keyword.startsWith("Unearth")) {
final String[] k = keyword.split(":");
final String manacost = k[1];