Merge branch 'a22_draft' into 'master'

A22: Draft mechanic and cards

See merge request core-developers/forge!5914
This commit is contained in:
Michael Kamensky
2021-12-08 03:52:33 +00:00
20 changed files with 173 additions and 30 deletions

View File

@@ -64,7 +64,7 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView,
* Keys that should not changed
*/
private static final ImmutableList<String> noChangeKeys = ImmutableList.<String>builder()
.add("TokenScript", "LegacyImage", "TokenImage", "NewName").build();
.add("TokenScript", "LegacyImage", "TokenImage", "NewName", "ChooseFromList").build();
/**
* <p>

View File

@@ -1,6 +1,7 @@
package forge.game.ability.effects;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -54,6 +55,7 @@ public class ChooseCardNameEffect extends SpellAbilityEffect {
}
boolean randomChoice = sa.hasParam("AtRandom");
boolean draft = sa.hasParam("Draft"); //for digital "draft from spellbook" mechanic
boolean chooseFromDefined = sa.hasParam("ChooseFromDefinedCards");
boolean chooseFromList = sa.hasParam("ChooseFromList");
boolean chooseFromOneTimeList = sa.hasParam("ChooseFromOneTimeList");
@@ -61,6 +63,8 @@ public class ChooseCardNameEffect extends SpellAbilityEffect {
if (!randomChoice) {
if (sa.hasParam("SelectPrompt")) {
message = sa.getParam("SelectPrompt");
} else if (draft) {
message = Localizer.getInstance().getMessage("lblChooseCardDraft");
} else if (null == validDesc) {
message = Localizer.getInstance().getMessage("lblChooseACardName");
} else {
@@ -105,8 +109,16 @@ public class ChooseCardNameEffect extends SpellAbilityEffect {
chosen = p.getController().chooseCardName(sa, faces, message);
} else if (chooseFromList) {
String [] names = sa.getParam("ChooseFromList").split(",");
if (sa.hasParam("Draft")) {
List<String> options = Arrays.asList(names);
Collections.shuffle(options);
List<String> draftChoices = options.subList(0,3);
names = draftChoices.toArray(new String[0]);
}
List<ICardFace> faces = new ArrayList<>();
for (String name : names) {
// Cardnames that include "," must use ";" instead in ChooseFromList$ (i.e. Tovolar; Dire Overlord)
name = name.replace(";", ",");
faces.add(StaticData.instance().getCommonCards().getFaceByName(name));
}
if (randomChoice) {
@@ -142,8 +154,10 @@ public class ChooseCardNameEffect extends SpellAbilityEffect {
host.setNamedCard(chosen);
if (!randomChoice) {
p.getGame().getAction().notifyOfValue(sa, host, Localizer.getInstance().getMessage("lblPlayerPickedChosen", p.getName(), chosen), p);
p.setNamedCard(chosen);
if (!draft) { //drafting is secret
p.getGame().getAction().notifyOfValue(sa, host, Localizer.getInstance().getMessage("lblPlayerPickedChosen", p.getName(), chosen), p);
}
}
if (sa.hasParam("NoteFor")) {
p.addNoteForName(sa.getParam("NoteFor"), "Name:" + chosen);

View File

@@ -12,34 +12,47 @@ import forge.game.zone.ZoneType;
public class MakeCardEffect extends SpellAbilityEffect {
@Override
public void resolve(SpellAbility sa) {
final Player player = sa.getActivatingPlayer();
final Game game = player.getGame();
for (final Player player : getTargetPlayers(sa)) {
final Game game = player.getGame();
String name = sa.getParamOrDefault("Name", sa.getHostCard().getName());
if (name.equals("ChosenName")) {
name = sa.getHostCard().getChosenName();
}
final ZoneType zone = ZoneType.smartValueOf(sa.getParamOrDefault("Zone", "Library"));
int amount = sa.hasParam("Amount") ? Integer.parseInt(sa.getParam("Amount")) : 1;
String name = sa.getParamOrDefault("Name", "");
if (name.equals("ChosenName")) {
if (sa.getHostCard().hasChosenName()) {
name = sa.getHostCard().getChosenName();
} else {
continue;
}
CardCollection cards = new CardCollection();
while (amount > 0) {
Card card = Card.fromPaperCard(StaticData.instance().getCommonCards().getUniqueByName(name), player);
if (!sa.hasParam("NotToken")) { card.setTokenCard(true); }
game.getAction().moveTo(ZoneType.None, card, sa);
cards.add(card);
amount--;
}
for (final Card c : cards) {
game.getAction().moveTo(zone, c, sa);
if (sa.hasParam("RememberMade")) {
sa.getHostCard().addRemembered(c);
}
}
if (zone.equals(ZoneType.Library)) {
player.shuffle(sa);
final ZoneType zone = ZoneType.smartValueOf(sa.getParamOrDefault("Zone", "Library"));
int amount = sa.hasParam("Amount") ? Integer.parseInt(sa.getParam("Amount")) : 1;
CardCollection cards = new CardCollection();
if (!name.equals("")) {
while (amount > 0) {
Card card = Card.fromPaperCard(StaticData.instance().getCommonCards().getUniqueByName(name), player);
if (!sa.hasParam("NotToken")) {
card.setTokenCard(true);
}
game.getAction().moveTo(ZoneType.None, card, sa);
cards.add(card);
amount--;
}
for (final Card c : cards) {
game.getAction().moveTo(zone, c, sa);
if (sa.hasParam("RememberMade")) {
sa.getHostCard().addRemembered(c);
}
if (sa.hasParam("ImprintMade")) {
sa.getHostCard().addImprintedCard(c);
}
}
if (zone.equals(ZoneType.Library)) {
player.shuffle(sa);
}
}
}
}
}

View File

@@ -58,6 +58,8 @@ public class RevealEffect extends SpellAbilityEffect {
} else if (sa.hasParam("RevealDefined")) {
revealed.addAll(AbilityUtils.getDefinedCards(host, sa.getParam("RevealDefined"), sa));
} else if (sa.hasParam("RevealAllValid")) {
revealed.addAll(CardLists.getValidCards(cardsInHand, sa.getParam("RevealAllValid"), p, host, sa));
} else {
CardCollection valid = new CardCollection(cardsInHand);

View File

@@ -2,9 +2,9 @@ package forge.game.ability.effects;
import java.util.List;
import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
import forge.game.card.*;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.TargetRestrictions;
@@ -45,7 +45,10 @@ public class RevealHandEffect extends SpellAbilityEffect {
if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantRevealYourHand"))) {
continue;
}
final CardCollectionView hand = p.getCardsIn(ZoneType.Hand);
CardCollectionView hand = p.getCardsIn(ZoneType.Hand);
if (sa.hasParam("RevealType")) {
hand = CardLists.filter(hand, CardPredicates.isType(sa.getParam("RevealType")));
}
sa.getActivatingPlayer().getController().reveal(hand, ZoneType.Hand, p);
if (sa.hasParam("RememberRevealed")) {
for (final Card c : hand) {

View File

@@ -0,0 +1,11 @@
Name:Arms Scavenger
ManaCost:1 R
Types:Creature Human Warrior
PT:2/2
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraft | TriggerDescription$ At the beginning of your upkeep, draft a card from CARDNAME's spellbook, then exile it. Until the end of turn, you may play that card.
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Boots of Speed,Cliffhaven Kitesail,Colossus Hammer,Dueling Rapier,Spare Dagger,Tormentor's Helm,Goldvein Pick,Jousting Lance,Mask of Immolation,Mirror Shield,Relic Axe,Rogue's Gloves,Scavenged Blade,Shield of the Realm,Ceremonial Knife | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Exile | RememberMade$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | ExileOnMoved$ Exile | SubAbility$ DBCleanup
SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until the end of turn, you may play that card.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearNamedCard$ True
Oracle:At the beginning of your upkeep, draft a card from Arms Scavenger's spellbook, then exile it. Until the end of turn, you may play that card.

View File

@@ -0,0 +1,10 @@
Name:Break Expectations
ManaCost:B
Types:Sorcery
A:SP$ Reveal | ValidTgts$ Player | TgtPrompt$ Select target player | RevealAllValid$ Card.cmcGE2+TargetedPlayerCtrl | SubAbility$ DBExile | StackDescription$ SpellDescription | SpellDescription$ Target player reveals all cards with mana value 2 or greater in their hand. You choose a card from among those cards. Exile that card. If a card was exiled this way, that player drafts a card from CARDNAME's spellbook and reveals it.
SVar:DBExile:DB$ ChangeZone | DefinedPlayer$ Targeted | Chooser$ You | Origin$ Hand | Destination$ Exile | ChangeNum$ 1 | ChangeType$ Card.cmcGE2+TargetedPlayerCtrl | Mandatory$ True | AlreadyRevealed$ True | RememberChanged$ True | AILogic$ BestCard | SubAbility$ DBDraft | StackDescription$ None
SVar:DBDraft:DB$ NameCard | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | Draft$ True | Defined$ Targeted | ChooseFromList$ Colossal Plow,Millstone,Whirlermaker,Magistrate's Scepter,Replicating Ring,Raiders' Karve,Weapon Rack,Relic Amulet,Orazca Relic,Fifty Feet of Rope,Pyre of Heroes,Treasure Chest,Leather Armor,Spiked Pit Trap,Gingerbrute | SubAbility$ DBMakeCard | StackDescription$ None
SVar:DBMakeCard:DB$ MakeCard | Defined$ Targeted | Name$ ChosenName | Zone$ Hand | ImprintMade$ True | SubAbility$ DBReveal
SVar:DBReveal:DB$ Reveal | Defined$ Targeted | RevealDefined$ Imprinted | SubAbility$ DBCleanup | StackDescription$ None
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | ClearNamedCard$ True
Oracle:Target player reveals all cards with mana value 2 or greater in their hand. You choose a card from among those cards. Exile that card. If a card was exiled this way, that player drafts a card from Break Expectations's spellbook and reveals it.

View File

@@ -0,0 +1,10 @@
Name:Cursebound Witch
ManaCost:B
Types:Creature Human Warlock
PT:1/2
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraft | TriggerDescription$ When CARDNAME dies, draft a card from CARDNAME's spellbook.
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Witch's Cauldron,Witch's Vengeance,Witch's Oven,Witch's Cottage,Witch's Familiar,Curse of Leeches,Cauldron Familiar,Black Cat,Sorcerer's Broom,Bloodhunter Bat,Unwilling Ingredient,Expanded Anatomy,Cruel Reality,Torment of Scarabs,Trespasser's Curse | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True
SVar:SacMe:2
Oracle:When Cursebound Witch dies, draft a card from Cursebound Witch's spellbook.

View File

@@ -0,0 +1,11 @@
Name:Faithful Disciple
ManaCost:1 W
Types:Creature Human Cleric
PT:2/2
K:Vigilance
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraft | TriggerDescription$ When CARDNAME dies, draft a card from CARDNAME's spellbook.
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Anointed Procession,Cathars' Crusade,Authority of the Consuls,Sigil of the Empty Throne,All That Glitters,Banishing Light,Divine Visitation,Duelist's Heritage,Glorious Anthem,Gauntlets of Light,Teleportation Circle,Angelic Gift,Spectral Steel,Cleric Class,Angelic Exaltation | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True
SVar:SacMe:2
Oracle:Vigilance\nWhen Faithful Disciple dies, draft a card from Faithful Disciple's spellbook.

View File

@@ -0,0 +1,11 @@
Name:Ishkanah, Broodmother
ManaCost:3 G
Types:Legendary Creature Spider
PT:3/5
K:Reach
S:Mode$ Continuous | Affected$ Creature.Spider+Other+YouCtrl | AddPower$ 1 | AddToughness$ 2 | Description$ Other Spiders you control get +1/+2.
A:AB$ NameCard | Cost$ 1 BG ExileFromGrave<2/card> | Draft$ True | Defined$ You | ChooseFromList$ Twin-Silk Spider,Drider,Brood Weaver,Glowstone Recluse,Gnottvold Recluse,Hatchery Spider,Mammoth Spider,Netcaster Spider,Sentinel Spider,Snarespinner,Sporecap Spider,Spidery Grasp,Spider Spawning,Prey Upon,Arachnoform | SubAbility$ DBMakeCard | SpellDescription$ Draft a card from CARDNAME's spellbook.
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True
DeckHints:Type$Spider
Oracle:Reach\nOther Spiders you control get +1/+2.\n{1}{B/G}, Exile two cards from your graveyard: Draft a card from Ishkanah, Broodmother's spellbook.

View File

@@ -0,0 +1,13 @@
Name:Ominous Traveler
ManaCost:2
Types:Creature Human
PT:1/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraft | TriggerDescription$ When CARDNAME enters the battlefield, draft a card from CARDNAME's spellbook. That card perpetually gains "You may spend mana as though it were mana of any color to cast this spell" and "When you cast this spell, return a card named Ominous Traveler you control to its owner's hand."
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Dominating Vampire,Vampire Socialite,Stromkirk Bloodthief,Falkenrath Pit Fighter,Wolfkin Outcast,Howlpack Piper,Tovolar; Dire Overlord,Patrician Geist,Shipwreck Sifters,Steelclad Spirit,Heron-Blessed Geist,Archghoul of Thraben,Champion of the Perished,Headless Rider,Bladestitched Skaab | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | RememberMade$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | Triggers$ CastTrigger | StaticAbilities$ SpendAnyMana | Duration$ Permanent | Name$ Ominous Traveler's Perpetual Effect | SubAbility$ DBCleanup
SVar:SpendAnyMana:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | AddHiddenKeyword$ May spend mana as though it were mana of any color to cast CARDNAME | Description$ You may spend mana as though it were mana of any color to cast this spell.
SVar:CastTrigger:Mode$ SpellCast | ValidCard$ Card.IsRemembered | Execute$ TrigReturn | TriggerDescription$ When you cast this spell, return a card named Ominous Traveler you control to its owner's hand.
SVar:TrigReturn:DB$ ChangeZone | ChangeType$ Card.namedOminous Traveler+YouCtrl | ChangeNum$ 1 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | Mandatory$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearNamedCard$ True
Oracle:When Ominous Traveler enters the battlefield, draft a card from Ominous Traveler's spellbook. That card perpetually gains "You may spend mana as though it were mana of any color to cast this spell" and "When you cast this spell, return a card named Ominous Traveler you control to its owner's hand."

View File

@@ -0,0 +1,13 @@
Name:Slayer's Bounty
ManaCost:W
Types:Legendary Artifact Clue
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPeek | TriggerDescription$ When CARDNAME enters the battlefield, look at the creature cards in target opponent's hand.
SVar:TrigPeek:DB$ RevealHand | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RevealType$ Creature
T:Mode$ Sacrificed | ValidCard$ Clue.YouCtrl | Execute$ TrigDraft | TriggerZones$ Battlefield | TriggerDescription$ Whenever you CARDNAME or another Clue, draft a card from CARDNAME's spellbook.
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Bounty Agent,Outflank,Bound in Gold,Bring to Trial,Glass Casket,Reprobation,Collar the Culprit,Compulsory Rest,Expel,Fairgrounds Warden,Iron Verdict,Luminous Bonds,Raise the Alarm,Seal Away,Summary Judgment | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True
A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | NumCards$ 1 | SpellDescription$ Draw a card.
DeckHas:Ability$Sacrifice
DeckHints:Ability$Investigate & Type$Clue
Oracle:When Slayer's Bounty enters the battlefield, look at the creature cards in target opponent's hand.\nWhenever you sacrifice Slayer's Bounty or another Clue, draft a card from Slayer's Bounty's spellbook.\n{2}, Sacrifice Slayer's Bounty: Draw a card.

View File

@@ -0,0 +1,16 @@
Name:Tibalt, Wicked Tormenter
ManaCost:3 R R
Types:Legendary Planeswalker Tibalt
Loyalty:3
A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ R | Amount$ 2 | SubAbility$ DBDraft | SpellDescription$ Add {R}{R}.
SVar:DBDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Chained Brute,Charmbreaker Devils,Festival Crasher,Forge Devil,Frenzied Devils,Havoc Jester,Hellrider,Hobblefiend,Pitchburn Devils,Sin Prodder,Spiteful Prankster,Tibalt's Rager,Torch Fiend,Brimstone Vandal,Devil's Play | SubAbility$ DBMakeCard | StackDescription$ SpellDescription | SpellDescription$ Draft a card from CARDNAME's spellbook, then exile it.
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Exile | RememberMade$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | ExileOnMoved$ Exile | SubAbility$ DBCleanup | SpellDescription$ Until end of turn, you may cast that card.
SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until the end of turn, you may cast that card.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearNamedCard$ True
A:AB$ DealDamage | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 3 | UnlessCost$ DamageYou<3> | UnlessPayer$ TargetedController | UnlessResolveSubs$ WhenPaid | SubAbility$ DBDiscardDraw | StackDescription$ CARDNAME deals 3 damage to {c:Targeted} unless {p:TargetedController} has NICKNAME deal 3 damage to them. | SpellDescription$ CARDNAME deals 3 damage to target creature or planeswalker unless its controller has NICKNAME deal 3 damage to them.
SVar:DBDiscardDraw:DB$ Draw | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessPayer$ You | UnlessSwitched$ True | OrString$ Draw a card. | StackDescription$ SpellDescription | SpellDescription$ If they do, you may discard a card. If you do, draw card.
A:AB$ Token | Cost$ SubCounter<X/LOYALTY> | Planeswalker$ True | TokenAmount$ X | TokenScript$ r_1_1_devil_burn | SpellDescription$ Create X 1/1 red Devil creature tokens with "When this creature dies, it deals 1 damage to any target."
SVar:X:Count$xPaid
DeckHas:Ability$Discard & Ability$Token
Oracle:[+1]: Add {R}{R}. Draft a card from Tibalt, Wicked Tormenter's spellbook, then exile it. Until end of turn, you may cast that card.\n[+1]: Tibalt, Wicked Tormenter deals 3 damage to target creature or planeswalker unless its controller has Tibalt deal 3 damage to them. If they do, you may discard a card. If you do, draw card.\n[X]: Create X 1/1 red Devil creature tokens with "When this creature dies, it deals 1 damage to any target."

View File

@@ -0,0 +1,10 @@
Name:Tireless Angler
ManaCost:2 U
Types:Creature Human Rogue
PT:1/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Island.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraft | TriggerDescription$ Whenever an Island enters the battlefield under your control, draft a card from CARDNAME's spellbook.
SVar:TrigDraft:DB$ NameCard | Draft$ True | Defined$ You | ChooseFromList$ Fleet Swallower,Moat Piranhas,Mystic Skyfish,Nadir Kraken,Pouncing Shoreshark,Sea-Dasher Octopus,Spined Megalodon,Stinging Lionfish,Voracious Greatshark,Archipelagore,Serpent of Yawning Depths,Wormhole Serpent,Sigiled Starfish,Riptide Turtle,Ruin Crab | SubAbility$ DBMakeCard
SVar:DBMakeCard:DB$ MakeCard | Name$ ChosenName | Zone$ Hand | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True
SVar:BuffedBy:Island
Oracle:Whenever an Island enters the battlefield under your control, draft a card from Tireless Angler's spellbook.

View File

@@ -1837,6 +1837,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=Wähle Kreatur(en) mit Gesamtstärk
lblTotalPowerNum=Gesamtstärke: {0}
lblCancelChooseConfirm=Auswahl abbrechen?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=Wähle einen Kartennamen
lblChooseASpecificCard=Wähle einen {0} Kartenname.
lblPlayerPickedChosen={0} wählt {1}

View File

@@ -1838,6 +1838,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=Select creature(s) with total power
lblTotalPowerNum=Total Power: {0}
lblCancelChooseConfirm=Cancel Choose?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=Choose a card name
lblChooseASpecificCard=Choose a {0} card name.
lblPlayerPickedChosen={0} picked {1}

View File

@@ -1836,6 +1836,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=Selecciona la(s) criatura(s) con un
lblTotalPowerNum=Fuerza total: {0}
lblCancelChooseConfirm=¿Cancelar elegir?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=Elige un nombre de carta
lblChooseASpecificCard=Elige un nombre de carta {0}.
lblPlayerPickedChosen={0} escogió {1}

View File

@@ -1835,6 +1835,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=Seleziona creature con forza comple
lblTotalPowerNum=Forza totale: {0}
lblCancelChooseConfirm=Annulli la scelta?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=Scegli il nome di una carta
lblChooseASpecificCard=Scegli il nome di una carta {0}.
lblPlayerPickedChosen={0} ha scelto {1}

View File

@@ -1835,6 +1835,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=パワーの合計が {0}以下に
lblTotalPowerNum=パワーの合計:{0}
lblCancelChooseConfirm=選びを中止しますか?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=カード名 1つを選ぶ
lblChooseASpecificCard={0}カード名 1つを選ぶ
lblPlayerPickedChosen={0}が {1}を選択した

View File

@@ -1839,6 +1839,7 @@ lblSelectCreatureWithTotalPowerLessOrEqualTo=选择一些生物其力量只和
lblTotalPowerNum=总力量:{0}
lblCancelChooseConfirm=取消选择?
#ChooseCardNameEffect.java
lblChooseCardDraft=Choose a card to draft
lblChooseACardName=选择一个牌名
lblChooseASpecificCard=选择一个{0}牌名
lblPlayerPickedChosen={0}选取了{1}