- Converted Amplify to replacement effects

This commit is contained in:
swordshine
2013-12-25 04:50:26 +00:00
parent c5a42f03e6
commit 0f1e88bb25

View File

@@ -2536,8 +2536,8 @@ public class CardFactoryUtil {
if (card.hasStartOfKeyword("Amplify")) { if (card.hasStartOfKeyword("Amplify")) {
// find position of Amplify keyword // find position of Amplify keyword
final int equipPos = card.getKeywordPosition("Amplify"); final int ampPos = card.getKeywordPosition("Amplify");
final String[] ampString = card.getKeyword().get(equipPos).split(":"); final String[] ampString = card.getKeyword().get(ampPos).split(":");
final String amplifyMagnitude = ampString[1]; final String amplifyMagnitude = ampString[1];
final String suffix = !amplifyMagnitude.equals("1") ? "s" : ""; final String suffix = !amplifyMagnitude.equals("1") ? "s" : "";
final String ampTypes = ampString[2]; final String ampTypes = ampString[2];
@@ -2549,19 +2549,22 @@ public class CardFactoryUtil {
types.append(","); types.append(",");
} }
} }
// Setup ETB trigger for card with Amplify keyword // Setup ETB replacement effects
final String actualTrigger = "Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | " final String actualRep = "Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self |"
+ "ValidCard$ Card.Self | Execute$ AmplifyReveal | Static$ True | Secondary$ True | " + " ReplaceWith$ AmplifyReveal | Secondary$ True | Description$ As this creature "
+ "TriggerDescription$ As this creature enters the battlefield, put " + "enters the battlefield, put " + amplifyMagnitude + " +1/+1 counter" + suffix
+ amplifyMagnitude + " +1/+1 counter" + suffix + " on it for each " + " on it for each " + ampTypes.replace(",", " and/or ")
+ ampTypes.replace(",", " and/or ") + " card you reveal in your hand.)"; + " card you reveal in your hand.)";
final String abString = "AB$ Reveal | Cost$ 0 | AnyNumber$ True | RevealValid$ " final String abString = "DB$ Reveal | AnyNumber$ True | RevealValid$ "
+ types.toString() + " | RememberRevealed$ True | SubAbility$ Amplify"; + types.toString() + " | RememberRevealed$ True | SubAbility$ AmplifyMoveToPlay";
final String dbString = "DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | " final String moveToPlay = "DB$ ChangeZone | Origin$ All | Destination$ Battlefield | "
+ "CounterNum$ AmpMagnitude | References$ Revealed,AmpMagnitude | SubAbility$ DBCleanup"; + "Defined$ ReplacedCard | Hidden$ True | SubAbility$ Amplify";
final Trigger parsedTrigger = TriggerHandler.parseTrigger(actualTrigger, card, true); final String dbString = "DB$ PutCounter | Defined$ ReplacedCard | CounterType$ P1P1 | "
card.addTrigger(parsedTrigger); + "CounterNum$ AmpMagnitude | References$ Revealed,AmpMagnitude | SubAbility$"
+ " DBCleanup";
card.addReplacementEffect(ReplacementHandler.parseReplacement(actualRep, card, true));
card.setSVar("AmplifyReveal", abString); card.setSVar("AmplifyReveal", abString);
card.setSVar("AmplifyMoveToPlay", moveToPlay);
card.setSVar("Amplify", dbString); card.setSVar("Amplify", dbString);
card.setSVar("DBCleanup", "DB$ Cleanup | ClearRemembered$ True"); card.setSVar("DBCleanup", "DB$ Cleanup | ClearRemembered$ True");
card.setSVar("AmpMagnitude", "SVar$Revealed/Times." + amplifyMagnitude); card.setSVar("AmpMagnitude", "SVar$Revealed/Times." + amplifyMagnitude);