mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Added reminder texts for Delve, Dredge, Split second, Devoid, Totem armor, Afflict, Bushido, Poisonous, Rampage, Cascade, Conspire, Dredge (again), Flashback*.
*Flashback required changes to the actual Flashback code. Now it works with an em-Dash. I'll possibly apply similar changes to other keywords with em-Dash cast mode.
This commit is contained in:
@@ -1520,7 +1520,9 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
} else if (keyword.startsWith("Provoke") || keyword.startsWith("Ingest") || keyword.equals("Unleash")
|
||||
|| keyword.startsWith("Soulbond") || keyword.equals("Partner") || keyword.equals("Retrace")
|
||||
|| keyword.equals("Living Weapon") || keyword.equals("Myriad") || keyword.equals("Exploit")
|
||||
|| keyword.equals("Changeling")) {
|
||||
|| keyword.equals("Changeling") || keyword.equals("Delve") || keyword.startsWith("Dredge")
|
||||
|| (keyword.startsWith("Split second") && !sb.toString().contains("Split second"))
|
||||
|| keyword.startsWith("Devoid")){
|
||||
sbLong.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
|
||||
} else if (keyword.startsWith("Modular") || keyword.startsWith("Bloodthirst")
|
||||
|| keyword.startsWith("Fabricate") || keyword.startsWith("Soulshift")
|
||||
@@ -1540,11 +1542,13 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
sb.append(")");
|
||||
} else if (keyword.equals("Convoke") || keyword.equals("Dethrone")|| keyword.equals("Fear")
|
||||
|| keyword.equals("Melee") || keyword.equals("Improvise")|| keyword.equals("Shroud")
|
||||
|| keyword.equals("Banding") || keyword.equals("Intimidate")|| keyword.equals("Evolve")
|
||||
|| keyword.equals("Banding") || keyword.equals("Intimidate")|| keyword.equals("Evolve")
|
||||
|| keyword.equals("Exalted") || keyword.equals("Extort")|| keyword.equals("Flanking")
|
||||
|| keyword.equals("Horsemanship") || keyword.equals("Infect")|| keyword.equals("Persist")
|
||||
|| keyword.equals("Phasing") || keyword.equals("Shadow")|| keyword.equals("Skulk")
|
||||
|| keyword.equals("Undying") || keyword.equals("Wither") || keyword.equals("Totem Armor")) {
|
||||
|| keyword.equals("Undying") || keyword.equals("Wither") || keyword.equals("Totem armor")
|
||||
|| keyword.startsWith ("Afflict") || keyword.startsWith("Bushido") || keyword.startsWith ("Poisonous")
|
||||
|| keyword.startsWith ("Rampage") || keyword.startsWith("Cascade")) {
|
||||
if (sb.length() != 0) {
|
||||
sb.append("\r\n");
|
||||
}
|
||||
@@ -1958,7 +1962,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
// keyword descriptions
|
||||
for (final String keyword : kw) {
|
||||
if ((keyword.startsWith("Ripple") && !sb.toString().contains("Ripple"))
|
||||
|| (keyword.startsWith("Dredge") && !sb.toString().contains("Dredge"))
|
||||
//|| (keyword.startsWith("Dredge") && !sb.toString().contains("Dredge")) | Replaced with
|
||||
// keyword.startsWith("Dredge") Hopefully that doesn't break anything. -Indigo Dragon 8/9/2017
|
||||
|| (keyword.startsWith("CARDNAME is ") && !sb.toString().contains("CARDNAME is "))) {
|
||||
sb.append(keyword.replace(":", " ")).append("\r\n");
|
||||
} else if (keyword.startsWith("Madness")
|
||||
@@ -1967,15 +1972,19 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
String[] parts = keyword.split(":");
|
||||
sb.append(parts[0]).append(" ").append(ManaCostParser.parse(parts[1]))
|
||||
.append(" (").append(Keyword.getInstance(keyword).getReminderText()).append(")").append("\r\n");
|
||||
} else if (keyword.equals("CARDNAME can't be countered.")
|
||||
|| keyword.startsWith("Conspire")
|
||||
} else if (keyword.equals("CARDNAME can't be countered.")) {
|
||||
sb.append(keyword).append("\r\n");
|
||||
} else if (keyword.equals("Aftermath")) {
|
||||
sb.append(Keyword.getInstance(keyword).getReminderText()).append("\r\n");
|
||||
} else if (keyword.startsWith("Conspire") || keyword.startsWith("Dredge")
|
||||
|| keyword.startsWith("Cascade") || keyword.startsWith("Wither")
|
||||
|| (keyword.startsWith("Epic") && !sb.toString().contains("Epic"))
|
||||
|| (keyword.startsWith("Split second") && !sb.toString().contains("Split second"))
|
||||
|| (keyword.startsWith("Devoid"))) {
|
||||
sb.append(keyword).append("\r\n");
|
||||
} else if (keyword.equals("Aftermath")) {
|
||||
sb.append(Keyword.getInstance(keyword).getReminderText()).append("\r\n");
|
||||
if (sb.length() != 0) {
|
||||
sb.append("\r\n");
|
||||
sb.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")");
|
||||
}
|
||||
} else if (keyword.equals("You may cast CARDNAME as though it had flash if you pay {2} more to cast it.")) {
|
||||
sb.append(keyword).append("\r\n");
|
||||
} else if (keyword.startsWith("Flashback")) {
|
||||
@@ -1983,12 +1992,16 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
if (keyword.contains(" ")) {
|
||||
final Cost fbCost = new Cost(keyword.substring(10), true);
|
||||
if (!fbCost.isOnlyManaCost()) {
|
||||
sb.append(" -");
|
||||
sb.append("—");
|
||||
}
|
||||
sb.append(" ").append(fbCost.toString()).delete(sb.length() - 2, sb.length());
|
||||
if (fbCost.isOnlyManaCost()) {
|
||||
sb.append(" ");
|
||||
}
|
||||
sb.append(fbCost.toString()).delete(sb.length() - 2, sb.length());
|
||||
if (!fbCost.isOnlyManaCost()) {
|
||||
sb.append(".");
|
||||
}
|
||||
sb.append(" (You may cast this card from your graveyard for its flashback cost. Then exile it.)");
|
||||
}
|
||||
sb.append("\r\n");
|
||||
} else if (keyword.startsWith("Splice")) {
|
||||
|
||||
@@ -39,8 +39,9 @@ public enum Keyword {
|
||||
DELVE(SimpleKeyword.class, true, "As an additional cost to cast this spell, you may exile any number of cards from your graveyard. Each card exiled this way reduces the cost to cast this spell by {1}."),
|
||||
DETHRONE(SimpleKeyword.class, false, "Whenever this creature attacks the player with the most life or tied for the most life, put a +1/+1 counter on it."),
|
||||
DEVOUR(KeywordWithAmount.class, true, "As this creature enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with {%d:+1/+1 counter} on it for each creature sacrificed this way."),
|
||||
DEVOID(SimpleKeyword.class, true, "This card has no color."),
|
||||
DOUBLE_STRIKE(SimpleKeyword.class, true, "This creature deals both first-strike and regular combat damage."),
|
||||
DREDGE(KeywordWithAmount.class, true, "If you would draw a card, you may instead put %d cards from the top of your library into your graveyard and return this card from your graveyard to your hand."),
|
||||
DREDGE(KeywordWithAmount.class, true, "If you would draw a card, instead you may put exactly %d cards from the top of your library into your graveyard. If you do, return this card from your graveyard to your hand. Otherwise, draw a card."),
|
||||
ECHO(KeywordWithCost.class, false, "At the beginning of your upkeep, if this permanent came under your control since the beginning of your last upkeep, sacrifice it unless you pay %s."),
|
||||
EMBALM(KeywordWithCost.class, false, "Create a token that's a copy of this card, except it's white, it has no mana cost, and it's a Zombie in addition to its other types. Embalm only as a sorcery."),
|
||||
EMERGE(KeywordWithCost.class, true, "You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's converted mana cost."),
|
||||
|
||||
Reference in New Issue
Block a user