mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Merge branch 'update_in_game_text' into 'master'
Update in-game text and also English and Japanese localization (CMC -> mana value and etc.) See merge request core-developers/forge!4581
This commit is contained in:
@@ -103,7 +103,7 @@ public class CharmEffect extends SpellAbilityEffect {
|
||||
if (limit) {
|
||||
int limitNum = AbilityUtils.calculateAmount(source, sa.getParam("ActivationLimit"), sa);
|
||||
if (limitNum == 1) {
|
||||
sb.append(". Activate this ability only once each turn.");
|
||||
sb.append(". Activate only once each turn.");
|
||||
} else {
|
||||
sb.append(". Additional code needed in CharmEffect.");
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public enum Keyword {
|
||||
BLOODTHIRST("Bloodthirst", KeywordWithAmount.class, false, "If an opponent was dealt damage this turn, this creature enters the battlefield with {%d:+1/+1 counter} on it."),
|
||||
BUSHIDO("Bushido", KeywordWithAmount.class, false, "Whenever this creature blocks or becomes blocked, it gets +%1$d/+%1$d until end of turn."),
|
||||
BUYBACK("Buyback", KeywordWithCost.class, false, "You may pay an additional %s as you cast this spell. If you do, put it into your hand instead of your graveyard as it resolves."),
|
||||
CASCADE("Cascade", SimpleKeyword.class, false, "When you cast this spell, exile cards from the top of your library until you exile a nonland card whose converted mana cost is less than this spell's converted mana cost. You may cast that spell without paying its mana cost if its converted mana cost is less than this spell's converted mana cost. Then put all cards exiled this way that weren't cast on the bottom of your library in a random order."),
|
||||
CASCADE("Cascade", SimpleKeyword.class, false, "When you cast this spell, exile cards from the top of your library until you exile a nonland card whose mana value is less than this spell's mana value. You may cast that spell without paying its mana cost if its mana value is less than this spell's mana value. Then put all cards exiled this way that weren't cast on the bottom of your library in a random order."),
|
||||
CHAMPION("Champion", KeywordWithType.class, false, "When this enters the battlefield, sacrifice it unless you exile another %s you control. When this leaves the battlefield, that card returns to the battlefield."),
|
||||
CHANGELING("Changeling", SimpleKeyword.class, true, "This card is every creature type."),
|
||||
CIPHER("Cipher", SimpleKeyword.class, true, "Then you may exile this spell card encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost."),
|
||||
@@ -56,7 +56,7 @@ public enum Keyword {
|
||||
DREDGE("Dredge", KeywordWithAmount.class, false, "If you would draw a card, instead you may put exactly {%d:card} 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("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("Embalm", KeywordWithCost.class, false, "%s, Exile this card from your graveyard: 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("Emerge", KeywordWithCost.class, false, "You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's converted mana cost."),
|
||||
EMERGE("Emerge", KeywordWithCost.class, false, "You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's mana value."),
|
||||
ENCHANT("Enchant", KeywordWithType.class, false, "Target a %s as you cast this. This card enters the battlefield attached to that %s."),
|
||||
ENCORE("Encore", KeywordWithCost.class, false, "%s, Exile this card from your graveyard: For each opponent, create a token copy that attacks that opponent this turn if able. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery."),
|
||||
ENTWINE("Entwine", KeywordWithCost.class, true, "You may choose all modes of this spell instead of just one. If you do, you pay an additional %s."),
|
||||
@@ -142,7 +142,7 @@ public enum Keyword {
|
||||
SKULK("Skulk", SimpleKeyword.class, true, "This creature can't be blocked by creatures with greater power."),
|
||||
SCAVENGE("Scavenge", KeywordWithCost.class, false, "%s, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery."),
|
||||
SOULBOND("Soulbond", SimpleKeyword.class, true, "You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them."),
|
||||
SOULSHIFT("Soulshift", KeywordWithAmount.class, false, "When this creature dies, you may return target Spirit card with converted mana cost %d or less from your graveyard to your hand."),
|
||||
SOULSHIFT("Soulshift", KeywordWithAmount.class, false, "When this creature dies, you may return target Spirit card with mana value %d or less from your graveyard to your hand."),
|
||||
SPECTACLE("Spectacle", KeywordWithCost.class, false, "You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn."),
|
||||
SPLICE("Splice", KeywordWithCostAndType.class, false, "As you cast an %2$s spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell."),
|
||||
SPLIT_SECOND("Split second", SimpleKeyword.class, true, "As long as this spell is on the stack, players can't cast other spells or activate abilities that aren't mana abilities."),
|
||||
@@ -153,10 +153,10 @@ public enum Keyword {
|
||||
SUSPEND("Suspend", Suspend.class, false, "Rather than cast this card from your hand, you may pay %s and exile it with {%d:time counter} on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost."),
|
||||
TOTEM_ARMOR("Totem armor", SimpleKeyword.class, true, "If enchanted permanent would be destroyed, instead remove all damage marked on it and destroy this Aura."),
|
||||
TRAMPLE("Trample", SimpleKeyword.class, true, "This creature can deal excess combat damage to the player or planeswalker it's attacking."),
|
||||
TRANSFIGURE("Transfigure", KeywordWithCost.class, false, "%s, Sacrifice this creature: Search your library for a creature card with the same converted mana cost as this creature and put that card onto the battlefield. Then shuffle your library. Transfigure only as a sorcery."),
|
||||
TRANSMUTE("Transmute", KeywordWithCost.class, false, "%s, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery."),
|
||||
TRANSFIGURE("Transfigure", KeywordWithCost.class, false, "%s, Sacrifice this creature: Search your library for a creature card with the same mana value as this creature and put that card onto the battlefield, then shuffle. Transfigure only as a sorcery."),
|
||||
TRANSMUTE("Transmute", KeywordWithCost.class, false, "%s, Discard this card: Search your library for a card with the same mana value as this card, reveal it, and put it into your hand, then shuffle. Transmute only as a sorcery."),
|
||||
TRIBUTE("Tribute", KeywordWithAmount.class, false, "As this creature enters the battlefield, an opponent of your choice may put {%d:+1/+1 counter} on it."),
|
||||
TYPECYCLING("TypeCycling", KeywordWithCostAndType.class, false, "%s, Discard this card: Search your library for a %s card, reveal it, put it into your hand, then shuffle your library."),
|
||||
TYPECYCLING("TypeCycling", KeywordWithCostAndType.class, false, "%s, Discard this card: Search your library for a %s card, reveal it, put it into your hand, then shuffle."),
|
||||
UNDAUNTED("Undaunted", SimpleKeyword.class, false, "This spell costs {1} less to cast for each opponent."),
|
||||
UNDYING("Undying", SimpleKeyword.class, false, "When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it."),
|
||||
UNEARTH("Unearth", KeywordWithCost.class, false, "%s: Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery."),
|
||||
|
||||
@@ -275,7 +275,7 @@ public final class StaticAbilityContinuous {
|
||||
for (Card c : definedCards) {
|
||||
final int cmc = c.getCMC();
|
||||
String y = (input.replace(" from EachCMCAmongDefined", ":Card.cmcEQ"
|
||||
+ (cmc) + ":Protection from converted mana cost " + (cmc)));
|
||||
+ (cmc) + ":Protection from mana value " + (cmc)));
|
||||
if (!newKeywords.contains(y)) {
|
||||
newKeywords.add(y);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ public class CardCMCRangeFilter extends ValueRangeFilter<PaperCard> {
|
||||
|
||||
@Override
|
||||
protected String getCaption() {
|
||||
return "CMC";
|
||||
return "Mana Value";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,7 +21,7 @@ public class CardCMCFilter extends ValueRangeFilter<PaperCard> {
|
||||
|
||||
@Override
|
||||
protected String getCaption() {
|
||||
return "CMC";
|
||||
return "Mana Value";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -431,7 +431,7 @@ lblCommanderDesc=Each player has a legendary "General" card which can be cast at
|
||||
lblOathbreaker=Oathbreaker
|
||||
lblOathbreakerDesc=Each player has a Planeswalker card as their "Oathbreaker" which can be cast at any time and determines deck colors. Each player also has a signature spell that can be cast when their Oathbreaker is on the battlefield.
|
||||
lblTinyLeaders=Tiny Leaders
|
||||
lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have CMC less than 4.
|
||||
lblTinyLeadersDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Each card must have mana value less than 4.
|
||||
lblBrawl=Brawl
|
||||
lblBrawlDesc=Each player has a legendary \"General\" card which can be cast at any time and determines deck colors. Only cards legal in Standard may be used.
|
||||
lblPlaneswalker=Planeswalker
|
||||
@@ -779,13 +779,13 @@ lblEnchantments=Enchantments
|
||||
lblPlaneswalkers=Planeswalkers
|
||||
lblInstants=Instants
|
||||
lblSorceries=Sorceries
|
||||
lblCCMC0=Cards with CMC 0
|
||||
lblCCMC1=Cards with CMC 1
|
||||
lblCCMC2=Cards with CMC 2
|
||||
lblCCMC3=Cards with CMC 3
|
||||
lblCCMC4=Cards with CMC 4
|
||||
lblCCMC5=Cards with CMC 5
|
||||
lblCCMC6orMore=Cards with CMC 6+
|
||||
lblCCMC0=Cards with mana value 0
|
||||
lblCCMC1=Cards with mana value 1
|
||||
lblCCMC2=Cards with mana value 2
|
||||
lblCCMC3=Cards with mana value 3
|
||||
lblCCMC4=Cards with mana value 4
|
||||
lblCCMC5=Cards with mana value 5
|
||||
lblCCMC6orMore=Cards with mana value 6+
|
||||
lblWhitedecks=White decks
|
||||
lblBluedecks=Blue decks
|
||||
lblBlackdecks=Black decks
|
||||
@@ -895,7 +895,7 @@ lblQuestWorld=Quest World
|
||||
lblSets=Sets
|
||||
lblTypes=Types
|
||||
lblConvertedManaCosts=Converted mana
|
||||
lblCMCRange=CMC Range
|
||||
lblCMCRange=Mana Value Range
|
||||
lblPowerRange=Power Range
|
||||
lblToughnessRange=Toughness Range
|
||||
lblFoil=Foil
|
||||
@@ -919,8 +919,8 @@ lblPrompt=Prompt
|
||||
lblGameSetup=Game Setup
|
||||
#ColumnDef.java
|
||||
lblAIStatus=AI Status
|
||||
lblCMC=CMC
|
||||
ttCMC=CMC
|
||||
lblCMC=Mana Value
|
||||
ttCMC=Mana Value
|
||||
lblCN=CN
|
||||
ttCN=Collector Number Order
|
||||
ttColor=Color
|
||||
@@ -2139,12 +2139,12 @@ lblSubtype=Subtype
|
||||
lblGenericCost=Generic Cost
|
||||
lblManaCost=Mana Cost
|
||||
lblFirstPrinting=First Printing
|
||||
lblAverageCMC=Average CMC
|
||||
lblAverageCMC=Average Mana Value
|
||||
lblMainDeck=Main Deck
|
||||
lblMainDeckSize=Main Deck Size
|
||||
lblSideboardSize=Sideboard Size
|
||||
lblOrigin=Origin
|
||||
lblDeckAverageCMC=Deck Average CMC
|
||||
lblDeckAverageCMC=Deck Average Mana Value
|
||||
lblDeckContents=Deck Contents
|
||||
lblDeckSize=Deck Size
|
||||
lblBuyPrice=Buy Price
|
||||
@@ -2475,8 +2475,8 @@ lblRemainingDraws=REMAINING DRAWS
|
||||
lblTotalCards=Total cards
|
||||
lblTotalManaCost=Total mana cost
|
||||
lblAverageManaCost=Average mana cost
|
||||
lblCardByColorTypeCMC=CARDS BY COLOR, TYPE AND CMC:
|
||||
lblBreakdownOfColorTypeCMC=Breakdown of cards by color, type and CMC
|
||||
lblCardByColorTypeCMC=CARDS BY COLOR, TYPE AND MANA VALUE:
|
||||
lblBreakdownOfColorTypeCMC=Breakdown of cards by color, type and mana value
|
||||
lblColoredManaSymbolsINManaCost=COLORED MANA SYMBOLS IN MANA COST:
|
||||
lblAmountOfManaSymbolsInManaCostOfCards=Amount of mana symbols in mana cost of cards
|
||||
lblMulticolorCardCount=Multicolor Card Count
|
||||
@@ -2498,7 +2498,7 @@ lblInstantCardCount=Instant Card Count
|
||||
lblLandCardCount=Land Card Count
|
||||
lblPlaneswalkerCardCount=Planeswalker Card Count
|
||||
lblSorceryCardCount=Sorcery Card Count
|
||||
lblCMCNCardCount=CMC {0} Card Count
|
||||
lblCMCNCardCount=Mana Value {0} Card Count
|
||||
#FFileChooser.java
|
||||
lblNewFolder=New Folder
|
||||
lblInvalidFolder=Invalid Folder
|
||||
|
||||
@@ -778,13 +778,13 @@ lblEnchantments=エンチャントのみ表示
|
||||
lblPlaneswalkers=プレインズウォーカーのみ表示
|
||||
lblInstants=インスタントのみ表示
|
||||
lblSorceries=ソーサリーのみ表示
|
||||
lblCCMC0=CMC 0のカードのみ表示
|
||||
lblCCMC1=CMC 1のカードのみ表示
|
||||
lblCCMC2=CMC 2のカードのみ表示
|
||||
lblCCMC3=CMC 3のカードのみ表示
|
||||
lblCCMC4=CMC 4のカードのみ表示
|
||||
lblCCMC5=CMC 5のカードのみ表示
|
||||
lblCCMC6orMore=CMC 6以上のカードのみ表示
|
||||
lblCCMC0=マナ総量 0のカードのみ表示
|
||||
lblCCMC1=マナ総量 1のカードのみ表示
|
||||
lblCCMC2=マナ総量 2のカードのみ表示
|
||||
lblCCMC3=マナ総量 3のカードのみ表示
|
||||
lblCCMC4=マナ総量 4のカードのみ表示
|
||||
lblCCMC5=マナ総量 5のカードのみ表示
|
||||
lblCCMC6orMore=マナ総量 6以上のカードのみ表示
|
||||
lblWhitedecks=白デッキ
|
||||
lblBluedecks=青デッキ
|
||||
lblBlackdecks=黒デッキ
|
||||
@@ -918,8 +918,8 @@ lblPrompt=プロンプト
|
||||
lblGameSetup=ゲームのセットアップ
|
||||
#ColumnDef.java
|
||||
lblAIStatus=AIステータス
|
||||
lblCMC=CMC
|
||||
ttCMC=CMC
|
||||
lblCMC=マナ総量
|
||||
ttCMC=マナ総量
|
||||
lblCN=CN
|
||||
ttCN=コレクター番号順
|
||||
ttColor=色
|
||||
|
||||
@@ -210,7 +210,7 @@ public final class InputSelectTargets extends InputSyncronizedBase {
|
||||
soFar += card.getCMC();
|
||||
}
|
||||
if (soFar > maxTotalCMC) {
|
||||
showMessage(sa.getHostCard() + " - Cannot target this card (CMC limit exceeded)");
|
||||
showMessage(sa.getHostCard() + " - Cannot target this card (mana value limit exceeded)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -260,7 +260,7 @@ public final class InputSelectTargets extends InputSyncronizedBase {
|
||||
}
|
||||
}
|
||||
|
||||
// If all cards must have different CMC
|
||||
// If all cards must have different mana values
|
||||
if (tgt.isDifferentCMC()) {
|
||||
final List<Integer> targetedCMCs = new ArrayList<>();
|
||||
for (final GameObject o : targetDepth.keySet()) {
|
||||
@@ -270,7 +270,7 @@ public final class InputSelectTargets extends InputSyncronizedBase {
|
||||
}
|
||||
}
|
||||
if (targetedCMCs.contains(card.getCMC())) {
|
||||
showMessage(sa.getHostCard() + " - Cannot target this card (must have different CMC)");
|
||||
showMessage(sa.getHostCard() + " - Cannot target this card (must have different mana values)");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,10 +280,10 @@ public class ConquestUtil {
|
||||
RARE (FSkinProp.IMG_PW_BADGE_RARE, new RarityFilter(EnumSet.of(CardRarity.Rare, CardRarity.Special, CardRarity.MythicRare)), "Rare"),
|
||||
MYTHIC (FSkinProp.IMG_PW_BADGE_MYTHIC, new RarityFilter(EnumSet.of(CardRarity.MythicRare)), "Mythic Rare (100%)"),
|
||||
|
||||
CMC_LOW (FSkinProp.IMG_CMC_LOW, new CMCFilter(0, 3), "CMC 0-3"),
|
||||
CMC_LOW_MID (FSkinProp.IMG_CMC_LOW_MID, new CMCFilter(2, 5), "CMC 2-5"),
|
||||
CMC_MID_HIGH (FSkinProp.IMG_CMC_MID_HIGH, new CMCFilter(4, 7), "CMC 4-7"),
|
||||
CMC_HIGH (FSkinProp.IMG_CMC_HIGH, new CMCFilter(6, -1), "CMC 6+");
|
||||
CMC_LOW (FSkinProp.IMG_CMC_LOW, new CMCFilter(0, 3), "Mana Value 0-3"),
|
||||
CMC_LOW_MID (FSkinProp.IMG_CMC_LOW_MID, new CMCFilter(2, 5), "Mana Value 2-5"),
|
||||
CMC_MID_HIGH (FSkinProp.IMG_CMC_MID_HIGH, new CMCFilter(4, 7), "Mana Value 4-7"),
|
||||
CMC_HIGH (FSkinProp.IMG_CMC_HIGH, new CMCFilter(6, -1), "Mana Value 6+");
|
||||
|
||||
private final FSkinProp skinProp;
|
||||
private final Predicate<PaperCard> predicate;
|
||||
|
||||
Reference in New Issue
Block a user