mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
CardFactoryUtil: moved Transmute to new Format
This commit is contained in:
@@ -1463,7 +1463,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
} else if (keyword.startsWith("Equip") || keyword.startsWith("Fortify") || keyword.startsWith("Outlast")
|
} else if (keyword.startsWith("Equip") || keyword.startsWith("Fortify") || keyword.startsWith("Outlast")
|
||||||
|| keyword.startsWith("Unearth") || keyword.startsWith("Scavenge") || keyword.startsWith("Ninjutsu")
|
|| keyword.startsWith("Unearth") || keyword.startsWith("Scavenge") || keyword.startsWith("Ninjutsu")
|
||||||
|| keyword.startsWith("Evoke") || keyword.startsWith("Bestow") || keyword.startsWith("Dash")
|
|| 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
|
// keyword parsing takes care of adding a proper description
|
||||||
} else if (keyword.startsWith("CantBeBlockedBy")) {
|
} else if (keyword.startsWith("CantBeBlockedBy")) {
|
||||||
sbLong.append(getName()).append(" can't be blocked ");
|
sbLong.append(getName()).append(" can't be blocked ");
|
||||||
|
|||||||
@@ -2109,19 +2109,7 @@ public class CardFactoryUtil {
|
|||||||
addSpellAbility(keyword, card, null);
|
addSpellAbility(keyword, card, null);
|
||||||
}
|
}
|
||||||
else if (keyword.startsWith("Transmute")) {
|
else if (keyword.startsWith("Transmute")) {
|
||||||
card.removeIntrinsicKeyword(keyword);
|
addSpellAbility(keyword, card, null);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
else if (keyword.startsWith("Soulshift")) {
|
else if (keyword.startsWith("Soulshift")) {
|
||||||
addTriggerAbility(keyword, card, null);
|
addTriggerAbility(keyword, card, null);
|
||||||
@@ -3708,6 +3696,25 @@ public class CardFactoryUtil {
|
|||||||
kws.addSpellAbility(newSA);
|
kws.addSpellAbility(newSA);
|
||||||
}
|
}
|
||||||
card.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")) {
|
} else if (keyword.startsWith("Unearth")) {
|
||||||
final String[] k = keyword.split(":");
|
final String[] k = keyword.split(":");
|
||||||
final String manacost = k[1];
|
final String manacost = k[1];
|
||||||
|
|||||||
Reference in New Issue
Block a user