mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
CardFactoryUtil: turn Living Weapon into new Format
This commit is contained in:
@@ -1433,7 +1433,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
|| keyword.startsWith("ETBReplacement") || keyword.startsWith("MayEffectFromOpeningHand")
|
|| keyword.startsWith("ETBReplacement") || keyword.startsWith("MayEffectFromOpeningHand")
|
||||||
|| keyword.equals("Undaunted")) {
|
|| keyword.equals("Undaunted")) {
|
||||||
} else if (keyword.startsWith("Provoke") || keyword.startsWith("Devour") || keyword.equals("Unleash")
|
} else if (keyword.startsWith("Provoke") || keyword.startsWith("Devour") || keyword.equals("Unleash")
|
||||||
|| keyword.startsWith("Soulbond") || keyword.equals("Partner") || keyword.equals("Retrace")) {
|
|| keyword.startsWith("Soulbond") || keyword.equals("Partner") || keyword.equals("Retrace")
|
||||||
|
|| keyword.equals("Living Weapon")) {
|
||||||
sbLong.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
|
sbLong.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
|
||||||
} else if (keyword.startsWith("Fabricate") || keyword.startsWith("Soulshift")
|
} else if (keyword.startsWith("Fabricate") || keyword.startsWith("Soulshift")
|
||||||
|| keyword.startsWith("Crew") || keyword.startsWith("Tribute")) {
|
|| keyword.startsWith("Crew") || keyword.startsWith("Tribute")) {
|
||||||
|
|||||||
@@ -2290,30 +2290,7 @@ public class CardFactoryUtil {
|
|||||||
card.setSVar("MyriadCleanup", dbString4);
|
card.setSVar("MyriadCleanup", dbString4);
|
||||||
}
|
}
|
||||||
else if (keyword.equals("Living Weapon")) {
|
else if (keyword.equals("Living Weapon")) {
|
||||||
card.removeIntrinsicKeyword(keyword);
|
addTriggerAbility(keyword, card, null);
|
||||||
|
|
||||||
final StringBuilder sbTrig = new StringBuilder();
|
|
||||||
sbTrig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ");
|
|
||||||
sbTrig.append("ValidCard$ Card.Self | Execute$ TrigGerm | TriggerDescription$ ");
|
|
||||||
sbTrig.append("Living Weapon (When this Equipment enters the battlefield, ");
|
|
||||||
sbTrig.append("put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)");
|
|
||||||
|
|
||||||
final StringBuilder sbGerm = new StringBuilder();
|
|
||||||
sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | ");
|
|
||||||
sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ | SubAbility$ DBGermAttach");
|
|
||||||
|
|
||||||
final StringBuilder sbAttach = new StringBuilder();
|
|
||||||
sbAttach.append("DB$ Attach | Defined$ Remembered | SubAbility$ DBGermClear");
|
|
||||||
|
|
||||||
final StringBuilder sbClear = new StringBuilder();
|
|
||||||
sbClear.append("DB$ Cleanup | ClearRemembered$ True");
|
|
||||||
|
|
||||||
card.setSVar("TrigGerm", sbGerm.toString());
|
|
||||||
card.setSVar("DBGermAttach", sbAttach.toString());
|
|
||||||
card.setSVar("DBGermClear", sbClear.toString());
|
|
||||||
|
|
||||||
final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, true);
|
|
||||||
card.addTrigger(etbTrigger);
|
|
||||||
}
|
}
|
||||||
else if (keyword.equals("Epic")) {
|
else if (keyword.equals("Epic")) {
|
||||||
addSpellAbility(keyword, card, null);
|
addSpellAbility(keyword, card, null);
|
||||||
@@ -2894,6 +2871,36 @@ public class CardFactoryUtil {
|
|||||||
if (!intrinsic) {
|
if (!intrinsic) {
|
||||||
kws.addTrigger(cardTrigger);
|
kws.addTrigger(cardTrigger);
|
||||||
}
|
}
|
||||||
|
} else if (keyword.equals("Living Weapon")) {
|
||||||
|
final StringBuilder sbTrig = new StringBuilder();
|
||||||
|
sbTrig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ");
|
||||||
|
sbTrig.append("ValidCard$ Card.Self | Secondary$ True | TriggerDescription$ ");
|
||||||
|
sbTrig.append("Living Weapon (" + Keyword.getInstance(keyword).getReminderText() + ")");
|
||||||
|
|
||||||
|
final StringBuilder sbGerm = new StringBuilder();
|
||||||
|
sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | ");
|
||||||
|
sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ");
|
||||||
|
|
||||||
|
final SpellAbility saGerm = AbilityFactory.getAbility(sbGerm.toString(), card);
|
||||||
|
|
||||||
|
final String sbAttach = "DB$ Attach | Defined$ Remembered";
|
||||||
|
final AbilitySub saAttach = (AbilitySub) AbilityFactory.getAbility(sbAttach, card);
|
||||||
|
saGerm.setSubAbility(saAttach);
|
||||||
|
|
||||||
|
final String sbClear = "DB$ Cleanup | ClearRemembered$ True";
|
||||||
|
final AbilitySub saClear = (AbilitySub) AbilityFactory.getAbility(sbClear, card);
|
||||||
|
saAttach.setSubAbility(saClear);
|
||||||
|
|
||||||
|
final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, intrinsic);
|
||||||
|
|
||||||
|
etbTrigger.setOverridingAbility(saGerm);
|
||||||
|
|
||||||
|
final Trigger cardTrigger = card.addTrigger(etbTrigger);
|
||||||
|
|
||||||
|
if (!intrinsic) {
|
||||||
|
saGerm.setIntrinsic(false);
|
||||||
|
kws.addTrigger(cardTrigger);
|
||||||
|
}
|
||||||
} else if (keyword.startsWith("Madness")) {
|
} else if (keyword.startsWith("Madness")) {
|
||||||
// Set Madness Triggers
|
// Set Madness Triggers
|
||||||
final String[] k = keyword.split(":");
|
final String[] k = keyword.split(":");
|
||||||
|
|||||||
Reference in New Issue
Block a user