mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Merge remote-tracking branch 'remotes/core/master' into newBranch
This commit is contained in:
@@ -190,8 +190,10 @@ public abstract class VCardDisplayArea extends VDisplayArea implements ActivateH
|
||||
@Override
|
||||
public void setSelectedIndex(int index) {
|
||||
//just scroll card into view
|
||||
final CardAreaPanel cardPanel = CardAreaPanel.get(orderedCards.get(index));
|
||||
scrollIntoView(cardPanel);
|
||||
if (index < orderedCards.size()) {
|
||||
final CardAreaPanel cardPanel = CardAreaPanel.get(orderedCards.get(index));
|
||||
scrollIntoView(cardPanel);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,4 +8,4 @@ T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ Tri
|
||||
SVar:TrigPump:DB$Pump | Defined$ Self | NumAtt$ +1 | NumDef$ +1
|
||||
DeckHints:Ability$LifeGain
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/malakir_familiar.jpg
|
||||
Oracle:Flying, deahtouch\nWhenever you gain life, Malakir Familiar gets +1/+1 until end of turn.
|
||||
Oracle:Flying, deathtouch\nWhenever you gain life, Malakir Familiar gets +1/+1 until end of turn.
|
||||
|
||||
@@ -2,8 +2,8 @@ Name:Belle of the Brawl
|
||||
ManaCost:2 B
|
||||
Types:Creature Human Knight
|
||||
PT:3/2
|
||||
K:Menance
|
||||
K:Menace
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, other Knights you control get +1/+0 until end of turn.
|
||||
SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Knight.YouCtrl+Other | NumAtt$ 1
|
||||
DeckHints:Type$Knight
|
||||
Oracle:Menance\nWhenever Belle of the Brawl attacks, other Knights you control get +1/+0 until end of turn.
|
||||
Oracle:Menace\nWhenever Belle of the Brawl attacks, other Knights you control get +1/+0 until end of turn.
|
||||
|
||||
@@ -0,0 +1,543 @@
|
||||
[metadata]
|
||||
Name=MTGO Grixis Cube September 2019 (540 cards)
|
||||
[main]
|
||||
Abbot of Keral Keep|ORI
|
||||
Abrade|HOU
|
||||
Academy Ruins|MMA
|
||||
Agent of Treachery|M20
|
||||
All Is Dust|UMA
|
||||
Aminatou's Augury|C18
|
||||
Ancestral Vision|IMA
|
||||
Ancient Tomb|UMA
|
||||
Anger of the Gods|IMA
|
||||
Angrath's Rampage|WAR
|
||||
Animate Dead|EMA
|
||||
Arc Trail|SOM
|
||||
Arcane Artisan|BBD
|
||||
Arguel's Blood Fast|XLN
|
||||
Aria of Flame|MH1
|
||||
Ash Zealot|RTR
|
||||
Augur of Bolas|MM3
|
||||
Avalanche Riders|TSB
|
||||
Badlands|VMA
|
||||
Baleful Strix|EMA
|
||||
Baral, Chief of Compliance|AER
|
||||
Basalt Monolith|C15
|
||||
Batterskull|NPH
|
||||
Bedevil|RNA
|
||||
Bedlam Reveler|EMN
|
||||
Bitterblossom|UMA
|
||||
Blackcleave Cliffs|SOM
|
||||
Blast Zone|WAR
|
||||
Blightsteel Colossus|MBS
|
||||
Blink of an Eye|DOM
|
||||
Blinkmoth Nexus|MM2
|
||||
Blood Artist|EMA
|
||||
Blood Crypt|RTR
|
||||
Bloodghast|IMA
|
||||
Bloodsoaked Champion|KTK
|
||||
Bloodstained Mire|KTK
|
||||
Bolas's Citadel|WAR
|
||||
Bomat Courier|KLD
|
||||
Braids, Cabal Minion|EMA
|
||||
Brain Freeze|VMA
|
||||
Brain Maggot|JOU
|
||||
Brainstorm|A25
|
||||
Buried Alive|UMA
|
||||
Burning of Xinye|VMA
|
||||
Burst Lightning|MM2
|
||||
Cabal Ritual|VMA
|
||||
Candelabra of Tawnos|AQ
|
||||
Canyon Slough|AKH
|
||||
Careful Study|ODY
|
||||
Carrion Feeder|MH1
|
||||
Cascade Bluffs|A25
|
||||
Cast Down|DOM
|
||||
Cathartic Reunion|KLD
|
||||
Chain Lightning|EMA
|
||||
Chainer's Edict|UMA
|
||||
Chains of Mephistopheles|LG
|
||||
Champion of Wits|HOU
|
||||
Chandra, Acolyte of Flame|M20
|
||||
Chandra, Awakened Inferno|M20
|
||||
Chandra, Fire of Kaladesh|ORI
|
||||
Chandra, Flamecaller|OGW
|
||||
Chandra, Torch of Defiance|KLD
|
||||
Charcoal Diamond|C14
|
||||
Chart a Course|XLN
|
||||
Chromatic Lantern|GRN
|
||||
Chrome Mox|EMA
|
||||
City of Traitors|TPR
|
||||
Coalition Relic|A25
|
||||
Coercive Portal|VMA
|
||||
Coldsteel Heart|CSP
|
||||
Collective Brutality|EMN
|
||||
Commence the Endgame|WAR
|
||||
Commit // Memory|AKH
|
||||
Compulsive Research|MM3
|
||||
Consecrated Sphinx|IMA
|
||||
Corpse Dance|TPR
|
||||
Counterspell|A25
|
||||
Countersquall|UMA
|
||||
Creeping Tar Pit|UMA
|
||||
Crucible of Worlds|M19
|
||||
Cruel Ultimatum|MM3
|
||||
Crumbling Necropolis|MM3
|
||||
Cryptbreaker|EMN
|
||||
Cryptic Command|IMA
|
||||
Crystal Vein|C14
|
||||
Cut // Ribbons|AKH
|
||||
Dack Fayden|EMA
|
||||
Dack's Duplicate|VMA
|
||||
Damnation|MM3
|
||||
Daretti, Ingenious Iconoclast|CN2
|
||||
Daretti, Scrap Savant|C14
|
||||
Dark Confidant|MM2
|
||||
Dark Petition|ORI
|
||||
Dark Ritual|A25
|
||||
Darkslick Shores|SOM
|
||||
Darksteel Citadel|MM2
|
||||
Darksteel Ingot|M14
|
||||
Davriel, Rogue Shadowmage|WAR
|
||||
Daze|EMA
|
||||
Defense Grid|AER
|
||||
Defile|MH1
|
||||
Delver of Secrets|ISD
|
||||
Demonic Tutor|UMA
|
||||
Desperate Ritual|UMA
|
||||
Devastating Summons|ROE
|
||||
Dig Through Time|UMA
|
||||
Dimir Signet|MM3
|
||||
Dire Fleet Daredevil|RIX
|
||||
Disallow|AER
|
||||
Discovery // Dispersal|GRN
|
||||
Dismember|MM2
|
||||
Doom Whisperer|GRN
|
||||
Dragonlord Silumgar|DTK
|
||||
Dragonskull Summit|XLN
|
||||
Drawn from Dreams|M20
|
||||
Dread Wanderer|AKH
|
||||
Dreadbore|RTR
|
||||
Dreadhorde Arcanist|WAR
|
||||
Dreadship Reef|COM
|
||||
Dream Halls|TPR
|
||||
Dreamstealer|HOU
|
||||
Drill Bit|RNA
|
||||
Drowned Catacomb|XLN
|
||||
Duplicant|EMA
|
||||
Duress|M19
|
||||
Earthshaker Khenra|HOU
|
||||
Echo of Eons|MH1
|
||||
Eidolon of the Great Revel|A25
|
||||
Eldrazi Obligator|OGW
|
||||
Eldrazi Temple|MM2
|
||||
Electrodominance|RNA
|
||||
Electrolyze|IMA
|
||||
Empty the Warrens|MMA
|
||||
Emrakul, the Aeons Torn|UMA
|
||||
Emrakul, the Promised End|EMN
|
||||
Enclave Cryptologist|ROE
|
||||
Endbringer|OGW
|
||||
Entomb|UMA
|
||||
Epochrasite|C14
|
||||
Erebos, God of the Dead|THS
|
||||
Everflowing Chalice|MM2
|
||||
Exhume|USG
|
||||
Expansion // Explosion|GRN
|
||||
Experimental Frenzy|GRN
|
||||
Fact or Fiction|EMA
|
||||
Faithless Looting|UMA
|
||||
Falkenrath Aristocrat|MM3
|
||||
Falkenrath Gorger|SOI
|
||||
Fatal Push|AER
|
||||
Fellwar Stone|C15
|
||||
Fetid Pools|AKH
|
||||
Fiery Confluence|C15
|
||||
Fiery Islet|MH1
|
||||
Figure of Destiny|MMA
|
||||
Filigree Familiar|KLD
|
||||
Finale of Eternity|WAR
|
||||
Finale of Promise|WAR
|
||||
Finale of Revelation|WAR
|
||||
Fire // Ice|UMA
|
||||
Fire Diamond|C14
|
||||
Fireblast|VMA
|
||||
Firebolt|EMA
|
||||
Firemind Vessel|WAR
|
||||
Flame Slash|ROE
|
||||
Flusterstorm|VMA
|
||||
Forbid|TPR
|
||||
Force of Negation|MH1
|
||||
Force of Will|EMA
|
||||
Force Spike|DDJ
|
||||
Forked Bolt|ROE
|
||||
Frantic Search|UMA
|
||||
Frost Titan|M12
|
||||
Fulminator Mage|UMA
|
||||
Future Sight|EMA
|
||||
Gatekeeper of Malakir|ZEN
|
||||
Geralf's Messenger|DKA
|
||||
Gifted Aetherborn|AER
|
||||
Gilded Lotus|DOM
|
||||
Gitaxian Probe|NPH
|
||||
Glen Elendra Archmage|UMA
|
||||
Glint-Nest Crane|KLD
|
||||
Glorybringer|AKH
|
||||
Go for the Throat|MBS
|
||||
Goblin Bombardment|DDN
|
||||
Goblin Bushwhacker|ZEN
|
||||
Goblin Chainwhirler|DOM
|
||||
Goblin Cratermaker|GRN
|
||||
Goblin Dark-Dwellers|OGW
|
||||
Goblin Electromancer|GRN
|
||||
Goblin Engineer|MH1
|
||||
Goblin Guide|MM3
|
||||
Goblin Rabblemaster|M15
|
||||
Goblin Ruinblaster|ZEN
|
||||
Goblin Welder|C14
|
||||
God-Eternal Kefnet|WAR
|
||||
Gonti, Lord of Luxury|KLD
|
||||
Goryo's Vengeance|UMA
|
||||
Grand Architect|SOM
|
||||
Grave Titan|M12
|
||||
Gravecrawler|DKA
|
||||
Graven Cairns|IMA
|
||||
Gray Merchant of Asphodel|THS
|
||||
Great Furnace|C14
|
||||
Greater Gargadon|MMA
|
||||
Grim Lavamancer|M12
|
||||
Grim Monolith|UL
|
||||
Griselbrand|MM3
|
||||
Guardian Idol|IMA
|
||||
Gutterbones|RNA
|
||||
Hangarback Walker|ORI
|
||||
Harbinger of the Tides|ORI
|
||||
Hazoret the Fervent|AKH
|
||||
Heart of Kiran|AER
|
||||
Hedron Archive|BFZ
|
||||
Hellrider|MM3
|
||||
Hero's Downfall|THS
|
||||
High Tide|VMA
|
||||
Hordeling Outburst|A25
|
||||
Hostage Taker|XLN
|
||||
Hour of Devastation|HOU
|
||||
Hydroblast|EMA
|
||||
Hymn to Tourach|EMA
|
||||
Hypnotic Specter|M10
|
||||
Ichor Wellspring|C14
|
||||
Ilharg, the Raze-Boar|WAR
|
||||
Imperial Seal|P3
|
||||
Impulse|VIS
|
||||
Inferno Titan|M12
|
||||
Inkwell Leviathan|EMA
|
||||
Innocent Blood|EMA
|
||||
Inquisition of Kozilek|MM3
|
||||
Intuition|TPR
|
||||
Ionize|GRN
|
||||
Izzet Charm|MM3
|
||||
Izzet Signet|MM3
|
||||
Jace Beleren|M11
|
||||
Jace, Architect of Thought|RTR
|
||||
Jace, the Mind Sculptor|VMA
|
||||
Jace, Vryn's Prodigy|ORI
|
||||
Judith, the Scourge Diva|RNA
|
||||
Kalitas, Traitor of Ghet|OGW
|
||||
Kari Zev, Skyship Raider|AER
|
||||
Karn Liberated|UMA
|
||||
Karn, Scion of Urza|DOM
|
||||
Keranos, God of Storms|JOU
|
||||
Kess, Dissident Mage|MH1
|
||||
Kitesail Freebooter|XLN
|
||||
Knight of the Ebon Legion|M20
|
||||
Kolaghan's Command|DTK
|
||||
Koth of the Hammer|SOM
|
||||
Kozilek, Butcher of Truth|UMA
|
||||
Kozilek's Return|OGW
|
||||
Kuldotha Forgemaster|SOM
|
||||
Languish|ORI
|
||||
Lashwrithe|C14
|
||||
Lavaclaw Reaches|UMA
|
||||
Legion Warboss|GRN
|
||||
Light Up the Stage|RNA
|
||||
Lightning Bolt|A25
|
||||
Lightning Greaves|MRD
|
||||
Lightning Mauler|AVR
|
||||
Liliana of the Veil|UMA
|
||||
Liliana, Death's Majesty|AKH
|
||||
Liliana, Dreadhorde General|WAR
|
||||
Liliana, Heretical Healer|ORI
|
||||
Liliana, the Last Hope|EMN
|
||||
Liliana's Triumph|WAR
|
||||
Lion's Eye Diamond|VMA
|
||||
Lodestone Golem|MM2
|
||||
Looter il-Kor|TSP
|
||||
Lotus Bloom|MMA
|
||||
Lotus Petal|TPR
|
||||
Magma Jet|MM3
|
||||
Magus of the Wheel|A25
|
||||
Magus of the Will|C16
|
||||
Makeshift Mannequin|LRW
|
||||
Mana Flare|4E
|
||||
Mana Leak|IMA
|
||||
Manamorphose|MMA
|
||||
Manic Vandal|M12
|
||||
Manifold Key|M20
|
||||
Man-o'-War|A25
|
||||
Massacre Wurm|MBS
|
||||
Master of Etherium|ALA
|
||||
Master of Waves|THS
|
||||
Matter Reshaper|OGW
|
||||
Memory Jar|VMA
|
||||
Memory Lapse|EMA
|
||||
Mesmeric Fiend|A25
|
||||
Metalworker|UD
|
||||
Meteor Golem|M20
|
||||
Midnight Reaper|GRN
|
||||
Mind Stone|IMA
|
||||
Mind's Desire|VMA
|
||||
Mindslaver|SOM
|
||||
Miscalculation|ULG
|
||||
Mishra's Factory|A25
|
||||
Mission Briefing|GRN
|
||||
Mizzium Mortars|MM3
|
||||
Mizzix's Mastery|C15
|
||||
Mogg War Marshal|EMA
|
||||
Molten Rain|MM3
|
||||
Molten Slagheap|C13
|
||||
Moment of Craving|RIX
|
||||
Monastery Swiftspear|IMA
|
||||
Mox Diamond|TPR
|
||||
Mox Opal|MM2
|
||||
Mu Yanling, Sky Dancer|M20
|
||||
Mulldrifter|MM2
|
||||
Mutavault|M14
|
||||
Myr Battlesphere|SOM
|
||||
Myriad Landscape|A25
|
||||
Mystic Confluence|C15
|
||||
Mystic Forge|M20
|
||||
Mystical Tutor|EMA
|
||||
Narset, Parter of Veils|WAR
|
||||
Necromancy|VIS
|
||||
Negate|RIX
|
||||
Never // Return|AKH
|
||||
Nicol Bolas, Dragon-God|WAR
|
||||
Nicol Bolas, Planeswalker|M13
|
||||
Nicol Bolas, the Ravager|M19
|
||||
Night's Whisper|EMA
|
||||
Nightveil Specter|GTC
|
||||
Niv-Mizzet, Parun|GRN
|
||||
Notion Thief|DGM
|
||||
Noxious Gearhulk|KLD
|
||||
Nykthos, Shrine to Nyx|THS
|
||||
Oona's Prowler|LRW
|
||||
Ophiomancer|C13
|
||||
Opt|DOM
|
||||
Overmaster|TO
|
||||
Pack Rat|RTR
|
||||
Painful Truths|BFZ
|
||||
Palladium Myr|IMA
|
||||
Peat Bog|MM
|
||||
Pentad Prism|HOP
|
||||
Phantasmal Image|MM3
|
||||
Phyrexian Arena|C15
|
||||
Phyrexian Metamorph|NPH
|
||||
Phyrexian Obliterator|A25
|
||||
Phyrexian Revoker|M15
|
||||
Pia and Kiran Nalaar|ORI
|
||||
Pia Nalaar|KLD
|
||||
Pilgrim's Eye|EMA
|
||||
Pillage|A25
|
||||
Pithing Needle|RTR
|
||||
Plaguecrafter|GRN
|
||||
Polluted Delta|KTK
|
||||
Ponder|M12
|
||||
Precursor Golem|MM2
|
||||
Preordain|M11
|
||||
Priest of Forgotten Gods|RNA
|
||||
Prismatic Lens|UMA
|
||||
Prismatic Vista|MH1
|
||||
Prophetic Bolt|VMA
|
||||
Pteramander|RNA
|
||||
Putrid Imp|VMA
|
||||
Pyretic Ritual|M11
|
||||
Pyroblast|EMA
|
||||
Pyroclasm|A25
|
||||
Quicken|M14
|
||||
Rain of Filth|US
|
||||
Rakdos Cackler|RTR
|
||||
Rakdos Signet|MM3
|
||||
Rakdos's Return|RTR
|
||||
Ral Zarek|DGM
|
||||
Ral, Storm Conduit|WAR
|
||||
Ral's Outburst|WAR
|
||||
Ramunap Ruins|HOU
|
||||
Ravenous Chupacabra|A25
|
||||
Reality Smasher|OGW
|
||||
Reanimate|UMA
|
||||
Reckless Bushwhacker|OGW
|
||||
Recurring Nightmare|TPR
|
||||
Rekindling Phoenix|RIX
|
||||
Release the Gremlins|AER
|
||||
Relentless Dead|SOI
|
||||
Relic of Progenitus|EMA
|
||||
Remand|MM2
|
||||
Repeal|IMA
|
||||
Riftwing Cloudskate|MMA
|
||||
Rishadan Port|A25
|
||||
Risk Factor|GRN
|
||||
Rite of Flame|CS
|
||||
Rix Maadi Reveler|RNA
|
||||
Ruinous Path|BFZ
|
||||
Runaway Steam-Kin|GRN
|
||||
Saheeli, Sublime Artificer|WAR
|
||||
Sandstone Needle|MM
|
||||
Saprazzan Skerry|MM
|
||||
Sarkhan the Masterless|WAR
|
||||
Scalding Tarn|MM3
|
||||
Scavenger Grounds|HOU
|
||||
Scheming Symmetry|M20
|
||||
Scrapheap Scrounger|KLD
|
||||
Scroll Rack|CM1
|
||||
Search for Azcanta|XLN
|
||||
Seasoned Pyromancer|MH1
|
||||
Seat of the Synod|HOP
|
||||
Seething Song|DDG
|
||||
Sensei's Divining Top|EMA
|
||||
Sentinel Tower|BBD
|
||||
Serum Visions|MM3
|
||||
Shallow Grave|MI
|
||||
Shelldock Isle|LRW
|
||||
Sheoldred, Whispering One|IMA
|
||||
Shivan Reef|ORI
|
||||
Show and Tell|USG
|
||||
Shrine of Burning Rage|NPH
|
||||
Siege-Gang Commander|DOM
|
||||
Silumgar's Command|DTK
|
||||
Simian Spirit Guide|A25
|
||||
Sire of Insanity|DGM
|
||||
Skullclamp|VMA
|
||||
Sky Diamond|C14
|
||||
Slavering Nulls|WWK
|
||||
Sling-Gang Lieutenant|MH1
|
||||
Smokestack|VMA
|
||||
Smoldering Marsh|BFZ
|
||||
Smuggler's Copter|KLD
|
||||
Snapcaster Mage|UMA
|
||||
Sneak Attack|EMA
|
||||
Solemn Simulacrum|M12
|
||||
Sorcerous Spyglass|XLN
|
||||
Spell Pierce|MM3
|
||||
Spellseeker|BBD
|
||||
Spellskite|MM2
|
||||
Spire of Industry|AER
|
||||
Spirebluff Canal|KLD
|
||||
Staff of Nin|M13
|
||||
Star Compass|IMA
|
||||
Steam Vents|GRN
|
||||
Steel Hellkite|SOM
|
||||
Stoke the Flames|M15
|
||||
Stormblood Berserker|M12
|
||||
Stratus Dancer|DTK
|
||||
Strip Mine|VMA
|
||||
Stromkirk Noble|ISD
|
||||
Sulfur Falls|DOM
|
||||
Sulfuric Vortex|EMA
|
||||
Sulfurous Springs|10E
|
||||
Sundering Titan|A25
|
||||
Sunken Hollow|BFZ
|
||||
Sunken Ruins|SHM
|
||||
Supreme Will|HOU
|
||||
Sweltering Suns|AKH
|
||||
Sword of Fire and Ice|MMA
|
||||
Sword of Sinew and Steel|MH1
|
||||
Sygg, River Cutthroat|SHM
|
||||
Talisman of Creativity|MH1
|
||||
Talisman of Dominance|MR
|
||||
Talisman of Indulgence|MR
|
||||
Talrand, Sky Summoner|M13
|
||||
Tamiyo, the Moon Sage|AVR
|
||||
Tangle Wire|NMS
|
||||
Tectonic Edge|C14
|
||||
Teferi, Mage of Zhalfir|IMA
|
||||
Tempest Djinn|DOM
|
||||
Temple of Deceit|THS
|
||||
Temple of Epiphany|M20
|
||||
Temple of Malice|BNG
|
||||
Tendrils of Agony|VMA
|
||||
Terminate|MM3
|
||||
Tezzeret the Seeker|MM2
|
||||
Tezzeret, Agent of Bolas|MBS
|
||||
Thassa, God of the Sea|THS
|
||||
The Antiquities War|DOM
|
||||
The Elderspell|WAR
|
||||
The Eldest Reborn|DOM
|
||||
The Scarab God|HOU
|
||||
Theater of Horrors|RNA
|
||||
Thief of Sanity|GRN
|
||||
Thing in the Ice|SOI
|
||||
Thirst for Knowledge|MMA
|
||||
Thought Erasure|GRN
|
||||
Thought Vessel|C15
|
||||
Thought-Knot Seer|OGW
|
||||
Thoughtseize|IMA
|
||||
Thousand-Year Storm|GRN
|
||||
Thran Dynamo|IMA
|
||||
Through the Breach|UMA
|
||||
Thundermaw Hellkite|IMA
|
||||
Tidespout Tyrant|DIS
|
||||
Time Spiral|US
|
||||
Time Warp|TPR
|
||||
Timetwister|VMA
|
||||
To the Slaughter|SOI
|
||||
Tolarian Academy|VMA
|
||||
Torrential Gearhulk|KLD
|
||||
Toxic Deluge|EMA
|
||||
Trash for Treasure|MR
|
||||
Treachery|UDS
|
||||
Treasure Cruise|UMA
|
||||
Treasure Map|XLN
|
||||
Trinket Mage|SOM
|
||||
True-Name Nemesis|C13
|
||||
Turnabout|VMA
|
||||
Tyrant's Scorn|WAR
|
||||
Ugin, the Ineffable|WAR
|
||||
Ugin, the Spirit Dragon|FRF
|
||||
Ulamog, the Ceaseless Hunger|BFZ
|
||||
Ultimate Price|DTK
|
||||
Umezawa's Jitte|BOK
|
||||
Underground River|10E
|
||||
Underground Sea|VMA
|
||||
Undermine|DDH
|
||||
Upheaval|VMA
|
||||
Urborg, Tomb of Yawgmoth|UMA
|
||||
Urza, Lord High Artificer|MH1
|
||||
Vampire Hexmage|CNS
|
||||
Vampire Nighthawk|MM3
|
||||
Vampiric Tutor|EMA
|
||||
Vault of Whispers|HOP
|
||||
Vedalken Shackles|MMA
|
||||
Vendilion Clique|A25
|
||||
Venser, Shaper Savant|MM3
|
||||
Viashino Pyromancer|M19
|
||||
Vilis, Broker of Blood|M20
|
||||
Volcanic Island|VMA
|
||||
Volrath's Stronghold|TPR
|
||||
Vraska's Contempt|XLN
|
||||
Walking Ballista|AER
|
||||
Wandering Fumarole|OGW
|
||||
Wasteland|EMA
|
||||
Watery Grave|GRN
|
||||
Wayfarer's Bauble|MM2
|
||||
Wheel of Fortune|VMA
|
||||
Whirler Rogue|ORI
|
||||
Wildfire|MM2
|
||||
Winter Orb|EMA
|
||||
Worn Powerstone|EMA
|
||||
Wretched Confluence|C15
|
||||
Wurmcoil Engine|SOM
|
||||
Yawgmoth, Thran Physician|MH1
|
||||
Yawgmoth's Will|VMA
|
||||
Young Pyromancer|UMA
|
||||
Zealous Conscripts|MM3
|
||||
Zulaport Cutthroat|A25
|
||||
Zurgo Bellstriker|DTK
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:MTGO Grixis Cube September 2019 (540 cards)
|
||||
DeckFile:MTGO Grixis Cube September 2019 (540 cards)
|
||||
Singleton:True
|
||||
|
||||
Booster: 15 Any
|
||||
NumPacks: 3
|
||||
@@ -373,17 +373,17 @@ btnBuildNewSealedDeck=Erstelle neues Sealed Deck
|
||||
lblViewDeck=Zeige Deck
|
||||
lblRandomDeck=Zufälliges Deck
|
||||
lblRandomColors=Zufällige Farben
|
||||
lblMustSelectGenerateNewDeck=You must select something before you can generate a new deck.
|
||||
lblMustSelectGenerateNewDeck=Du mußt etwas auswählen, bevor du ein neues Deck erzeugst.
|
||||
lblOK=OK
|
||||
lblCannotEditDuplicateCustomDeck=cannot be edited directly. Would you like to duplicate %s for editing as a custom user deck?
|
||||
lblDuplicateDeck=Duplicate Deck?
|
||||
lblDuplicate=Duplicate
|
||||
lblHowManyOpponents=How many opponents are you willing to face?
|
||||
lblChooseAllowedDeckTypeOpponents=Choose allowed deck types for opponents
|
||||
lblSelectOpponentDeck=Select Opponent's Deck
|
||||
lblGenerateNewDeck=Generate New Deck
|
||||
lblRandomTheme=Random Theme
|
||||
lblTestDeck=Test Deck
|
||||
lblCannotEditDuplicateCustomDeck=kann nicht geändert werden. Willst du %s kopieren, um es als eigenes Deck zu bearbeiten?
|
||||
lblDuplicateDeck=Kopiere Deck?
|
||||
lblDuplicate=Kopieren
|
||||
lblHowManyOpponents=Mit wie vielen Gegner willst du es aufnehmen?
|
||||
lblChooseAllowedDeckTypeOpponents=Wähle die erlaubten Decktypen für die Gegner
|
||||
lblSelectOpponentDeck=Wähle das Deck des Gegners
|
||||
lblGenerateNewDeck=Erzeuge ein neues Deck
|
||||
lblRandomTheme=Zufälliges Deck
|
||||
lblTestDeck=Teste Deck
|
||||
#GameType.java
|
||||
lblSealed=Sealed
|
||||
lblDraft=Draft
|
||||
@@ -981,98 +981,160 @@ lblCollection=Sammlung
|
||||
lblCommanders=Komandeure
|
||||
lblOathbreakers=Eidbrecher
|
||||
#Forge.java
|
||||
lblLoadingFonts=Lade Schriften...
|
||||
lblLoadingCardTranslations=Lade Kartenübersetzungen...
|
||||
lblFinishingStartup=Abschliessen...
|
||||
lblLoadingFonts=Lade Schriftarten...
|
||||
lblLoadingCardTranslations=Lade Karten-Übersetzungen...
|
||||
lblFinishingStartup=Letzte Vorbereitungen...
|
||||
#LobbyScreen.java
|
||||
lblMore=More...
|
||||
lblLoadingNewGame=Loading new game...
|
||||
lblSelectVariants=Select Variants
|
||||
msgSelectAdeckBeforeReadying=Select a deck before readying!
|
||||
lblMore=Mehr...
|
||||
lblLoadingNewGame=Lade neues Spiel...
|
||||
lblSelectVariants=Wähle Varianten
|
||||
msgSelectAdeckBeforeReadying=Wähle vorher ein Deck!
|
||||
#PlayerPanel
|
||||
lblLoadingDeck=Loading Deck...
|
||||
lblSchemeDeckRandomGenerated=Scheme Deck: Random Generated Deck
|
||||
lblCommanderDeckRandomGenerated=Commander Deck: Random Generated Deck
|
||||
lblOathbreakerDeckRandomGenerated=Oathbreaker Deck: Random Generated Deck
|
||||
lblTinyLeadersDeckRandomGenerated=Tiny Leaders Deck: Random Generated Deck
|
||||
lblBrawlDeckRandomGenerated=Brawl Deck: Random Generated Deck
|
||||
lblPlanarDeckRandomGenerated=Planar Deck: Random Generated Deck
|
||||
lblVanguardAvatarRandom=Vanguard Avatar: Random
|
||||
lblNotReady=Not Ready
|
||||
lblLoadingDeck=Lade Deck...
|
||||
lblSchemeDeckRandomGenerated=Verschwörungsdeck: Zufällig erzeugtes Deck
|
||||
lblCommanderDeckRandomGenerated=Commander-Deck: Zufällig erzeugtes Deck
|
||||
lblOathbreakerDeckRandomGenerated=Eidbrecher-Deck: Zufällig erzeugtes Deck
|
||||
lblTinyLeadersDeckRandomGenerated=Kleine-Anführer-Deck: Zufällig erzeugtes Deck
|
||||
lblBrawlDeckRandomGenerated=Brawl-Deck: Zufällig erzeugtes Deck
|
||||
lblPlanarDeckRandomGenerated=Welten-Deck: Zufällig erzeugtes Deck
|
||||
lblVanguardAvatarRandom=Vanguard-Avatar: Zufällig
|
||||
lblNotReady=Nicht fertig
|
||||
lblNormal=Normal
|
||||
lblDevMode=Dev Mode
|
||||
lblOathbreakerDeck=Oathbreaker Deck
|
||||
lblTinyLeadersDeck=Tiny Leaders Deck
|
||||
lblBrawlDeck=Brawl Deck
|
||||
lblSelectDeckFor=Select Deck for %s
|
||||
lblSelectCommanderDeckFor=Select Commander Deck for %s
|
||||
lblSelectOathbreakerDeckFor=Select Oathbreaker Deck for %s
|
||||
lblSelectTinyLeadersDeckFor=Select Tiny Leaders Deck for %s
|
||||
lblSelectBrawlDeckFor=Select Brawl Deck for %s
|
||||
lblSelectSchemeDeckFor=Select Scheme Deck for %s
|
||||
lblSelectPlanarDeckFor=Select Planar Deck for %s
|
||||
lblSelectVanguardFor=Select Vanguard for %s
|
||||
lblMale=Male
|
||||
lblFemale=Female
|
||||
lblAny=Any
|
||||
lblDevMode=Entw.Modus
|
||||
lblOathbreakerDeck=Eidbrecher-Deck
|
||||
lblTinyLeadersDeck=Kleine-Anführer-Deck
|
||||
lblBrawlDeck=Brawl-Deck
|
||||
lblSelectDeckFor=Wähle ein Deck für %s
|
||||
lblSelectCommanderDeckFor=Wähle ein Commander-Deck für %s
|
||||
lblSelectOathbreakerDeckFor=Wähle ein Eidbrecher-Deck für %s
|
||||
lblSelectTinyLeadersDeckFor=Wähle ein Kleine-Anführer-Deck für %s
|
||||
lblSelectBrawlDeckFor=Wähle ein Brawl-Deck für %s
|
||||
lblSelectSchemeDeckFor=Wähle ein Verschwörungsdeck für %s
|
||||
lblSelectPlanarDeckFor=Wähle ein Welten-Deck für %s
|
||||
lblSelectVanguardFor=Wähle einen Vanguard-Avatar für %s
|
||||
lblMale=Männlich
|
||||
lblFemale=Weiblich
|
||||
lblAny=Alle
|
||||
lblFantasy=Fantasy
|
||||
lblGeneric=Generic
|
||||
#MatchController
|
||||
lblChooseAbilityToPlay=Choose ability to play
|
||||
lblSelected=Selected
|
||||
#ItemManager
|
||||
lblAdvancedSearch=Advanced Search
|
||||
lblSort=Sort
|
||||
lblResetFilters=Reset Filters
|
||||
#AdvancedSearchFilter
|
||||
lblEditExpression=Edit Expression
|
||||
lblRemoveFilter=Remove Filter
|
||||
#CardZoom
|
||||
lblSwipeUpTo=Swipe up to %s
|
||||
lblSwipeDownDetailView=Swipe down to switch to detail view
|
||||
lblSwipeDownPictureView=Swipe down to switch to picture view
|
||||
#VGameMenu
|
||||
lblNoPlayerPriorityNoDeckListViewed=No player has priority at the moment, so deck list can't be viewed.
|
||||
#FilesPage
|
||||
lblFiles=Files
|
||||
lblStorageLocations=Storage Locations
|
||||
lblCardPicsLocation=Card Pics Location
|
||||
lblDecksLocation=Decks Location
|
||||
lblDataLocation=Data Location (e.g. Settings and Quests)
|
||||
lblImageCacheLocation=Image Cache Location
|
||||
lblRestartForgeMoveFilesNewLocation=You'll need to restart Forge for this change to take effect. Be sure to move any necessary files to the new location before you do.
|
||||
lblRestartRequired=Restart Required
|
||||
lblSelect=Select %s
|
||||
#AddBasicLandsDialog
|
||||
lblLandSet=Land Set
|
||||
lblAddBasicLandsAutoSuggest=Add Basic Lands to %s\n(double-tap statistics to auto-suggest)
|
||||
lblAssortedArt=Assorted Art
|
||||
lblCardArt=Card Art %d
|
||||
lblNonLandCount=%d non-lands
|
||||
lblOldLandCount=%d lands
|
||||
lblNewLandCount=%d added lands
|
||||
lblNewTotalCount=%d cards
|
||||
#FDeckImportDialog
|
||||
lblImportLatestVersionCard=Import latest version of card
|
||||
lblUseOnlySetsReleasedBefore=Use only sets released before:
|
||||
lblUseOnlyCoreAndExpansionSets=Use only core and expansion sets
|
||||
lblFollowingCardsCannotBeImported=The following cards cannot be imported due to misspelling, set restrictions, or not being in Forge yet:
|
||||
lblImportRemainingCards=Import remaining cards?
|
||||
lblNoKnownCardsOnClipboard=No known cards found on clipboard.\n\nCopy the decklist to the clipboard, then reopen this dialog.
|
||||
#FDeckViewer
|
||||
lblDeckListCopiedClipboard=Deck list for '%s' copied to clipboard.
|
||||
#FSideboardDialog
|
||||
lblUpdateMainFromSideboard=Update main deck from sideboard%s
|
||||
#FVanguardChooser
|
||||
lblRandomVanguard=Random Vanguard
|
||||
#FOptionPane
|
||||
lblYes=Yes
|
||||
lblNo=No
|
||||
#FSpinner
|
||||
lblSelectANumber=Select a number
|
||||
#FTextField
|
||||
lblCut=Cut
|
||||
lblCopy=Copy
|
||||
lblPaste=Paste
|
||||
#ListChooser
|
||||
lblSearch=Search
|
||||
lblGeneric=Divers
|
||||
#MatchController.java
|
||||
lblChooseAbilityToPlay=Wähle Fähigkeit
|
||||
lblSelected=Gewählt
|
||||
#ItemManager.java
|
||||
lblAdvancedSearch=Erweiterte Suche
|
||||
lblSort=Sortierung
|
||||
lblResetFilters=Filter zurücksetzen
|
||||
#AdvancedSearchFilter.java
|
||||
lblEditExpression=Bearbeite Ausdruck
|
||||
lblRemoveFilter=Entferne Filter
|
||||
#CardZoom.java
|
||||
lblSwipeUpTo=Wische hoch für %s
|
||||
lblSwipeDownDetailView=Wische runter für Detailansicht
|
||||
lblSwipeDownPictureView=Wische runter für Bildansicht
|
||||
#VGameMenu.java
|
||||
lblNoPlayerPriorityNoDeckListViewed=Kein Spieler hat Prioriät, daher keine Decklistenanzeige möglich.
|
||||
#FilesPage.java
|
||||
lblFiles=Dateien
|
||||
lblStorageLocations=Speicherort
|
||||
lblCardPicsLocation=Kartenbilder-Verz.
|
||||
lblDecksLocation=Deck-Verz.
|
||||
lblDataLocation=Daten-Verz.(Einst.u.Quests)
|
||||
lblImageCacheLocation=Bild-Zwischenspeicher-Verz.
|
||||
lblRestartForgeMoveFilesNewLocation=Forge muß neu gestartet werden. Bitte vorher sicherstellen, daß alle notwendigen Dateien sich am neuen Ort befinden.
|
||||
lblRestartRequired=Neustart notwendig.
|
||||
lblSelect=Wähle %s
|
||||
#AddBasicLandsDialog.java
|
||||
lblLandSet=Länder aus Set
|
||||
lblAddBasicLandsAutoSuggest=Füge Standardländer zu %s hinzu.\n(Doppelklicke Statistik für Vorschlag)
|
||||
lblAssortedArt=Div. Versionen
|
||||
lblCardArt=Karte Vers.%d
|
||||
lblNonLandCount=%d Nichtländer
|
||||
lblOldLandCount=%d Länder
|
||||
lblNewLandCount=%d hinzugefügte Länder
|
||||
lblNewTotalCount=%d Karten
|
||||
#FDeckImportDialog.java
|
||||
lblImportLatestVersionCard=Importiere neueste Kartenversion
|
||||
lblUseOnlySetsReleasedBefore=Nur Sets verwenden vor:
|
||||
lblUseOnlyCoreAndExpansionSets=Nutze nur Haupt- u. Erweiterungssets
|
||||
lblFollowingCardsCannotBeImported=Folgende Karten können nicht importiert werden, wegen Tippfehlern, Seteinschränkungen oder weil nicht in Forge:
|
||||
lblImportRemainingCards=Verbleibende Karteen importieren?
|
||||
lblNoKnownCardsOnClipboard=Keine Karten in der Zwischenablage gefunden.\n\nKopiere eine Deckliste in die Zwischenablage und versuche es erneut.
|
||||
#FDeckViewer.java
|
||||
lblDeckListCopiedClipboard=Deckliste von "%s" in Zwischenablage kopiert.
|
||||
#FSideboardDialog.java
|
||||
lblUpdateMainFromSideboard=Aktuallisiere %s aus dem Sideboard
|
||||
#FVanguardChooser.java
|
||||
lblRandomVanguard=Zufälliger Avatar
|
||||
#FOptionPane.java
|
||||
lblYes=Ja
|
||||
lblNo=Nein
|
||||
#FSpinner.java
|
||||
lblSelectANumber=Wähle eine Zahl
|
||||
#FTextField.java
|
||||
lblCut=Ausschneiden
|
||||
lblCopy=Kopieren
|
||||
lblPaste=Einfügen
|
||||
#ListChooser.java
|
||||
lblSearch=Suche
|
||||
#InputBase.java
|
||||
lblPriority=Priorität
|
||||
lblTurn=Zug
|
||||
lblPhase=Phase
|
||||
lblEmpty=Empty
|
||||
lbltoResolve=to Resolve.
|
||||
lblStormCount=Storm Count
|
||||
#PlayerControllerHuman.java
|
||||
lblYouHaveWonTheCoinToss=%s, you have won the coin toss.
|
||||
lblYouLostTheLastGame=%s, you lost the last game.
|
||||
lblWouldYouLiketoPlayorDraw=Would you like to play or draw?
|
||||
lblWhoWouldYouLiketoStartthisGame=Who would you like to start this game? (Click on the portrait.)
|
||||
lblPlay=Play
|
||||
lblDraw=Draw
|
||||
lblTooFewCardsMainDeck=Too few cards in your main deck (minimum %s), please make modifications to your deck again.
|
||||
lblTooManyCardsSideboard=Too many cards in your sideboard (maximum %s), please make modifications to your deck again.
|
||||
lblAssignCombatDamageWerentBlocked=Do you want to assign its combat damage as though it weren't blocked?
|
||||
lblChosenCards=Chosen Cards
|
||||
lblAttacker=Attacker
|
||||
lblTriggeredby=Triggered by
|
||||
lblChooseWhichCardstoReveal=Choose Which Cards to Reveal
|
||||
lblChooseCardsActivateOpeningHandandOrder=Choose cards to activate from opening hand and their order
|
||||
lblActivateFirst=Activate first
|
||||
lblChooseOptionalCosts=Choose optional Costs
|
||||
lblOptionalCosts=Optional Costs
|
||||
lblDoYouWanttoScry=Do you want to scry?
|
||||
lblChooseCardstoSpliceonto=Choose cards to Splice onto
|
||||
lblDoNextActioninSequence=Do Next Action in Sequence
|
||||
lblPleaseDefineanActionSequenceFirst=Please define an action sequence first.
|
||||
lblRememberActionSequence=Remember Action Sequence
|
||||
lblYouMustHavePrioritytoUseThisFeature=You must have priority to use this feature.
|
||||
lblNameTheCard=Name the card
|
||||
lblWhichPlayerShouldRoll=Which player should roll?
|
||||
lblChooseResult=Choose result
|
||||
lblChosenCardNotPermanentorCantExistIndependentlyontheBattleground=The chosen card is not a permanent or can't exist independently on the battlefield.\nIf you'd like to cast a non-permanent spell, or if you'd like to cast a permanent spell and place it on stack, please use the Cast Spell/Play Land button.
|
||||
lblError=Error
|
||||
lblWinGame=Win Game
|
||||
lblSetLifetoWhat=Set life to what?
|
||||
lblSetLifeforWhichPlayer=Set life for which player
|
||||
lblChoosePermanentstoTap=Choose permanents to tap
|
||||
lblChoosePermanentstoUntap=Choose permanents to untap
|
||||
lblWhichTypeofCounter=Which type of counter?
|
||||
lblHowManyCounters=How many counters?
|
||||
lblRemoveCountersFromWhichCard=Remove counters from which card?
|
||||
lblAddCountersToWhichCard=Add counters to which card?
|
||||
lblChooseaCard=Choose a card
|
||||
lblNoPlayerPriorityDeckCantBeTutoredFrom=No player has priority at the moment, so their deck can't be tutored from.
|
||||
lblNoPlayerPriorityGameStateCannotBeSetup=No player has priority at the moment, so game state cannot be setup.
|
||||
lblErrorLoadingBattleSetupFile=Error loading battle setup file!
|
||||
lblSelectCardstoAddtoYourDeck=Select cards to add to your deck
|
||||
lblAddTheseToMyDeck=Add these to my deck
|
||||
lblChooseaPile=Choose a pile
|
||||
lblSelectOrderForSimultaneousAbilities=Select order for simultaneous abilities
|
||||
lblReorderSimultaneousAbilities=Reorder simultaneous abilities
|
||||
lblResolveFirst=Resolve first
|
||||
lblMoveCardstoToporBbottomofLibrary=Move cards to top or bottom of library
|
||||
lblSelectCardsToBeOutOnTheBottomOfYourLibrary=Select cards to be put on the bottom of your library
|
||||
lblCardsToPutOnTheBottom=Cards to put on the bottom
|
||||
lblArrangeCardsToBePutOnTopOfYourLibrary=Arrange cards to be put on top of your library
|
||||
lblTopOfLibrary=Top of Library
|
||||
lblSelectCardsToBePutIntoTheGraveyard=Select cards to be put into the graveyard
|
||||
lblCardsToPutInTheGraveyard=Cards to put in the graveyard
|
||||
|
||||
@@ -989,7 +989,7 @@ lblMore=More...
|
||||
lblLoadingNewGame=Loading new game...
|
||||
lblSelectVariants=Select Variants
|
||||
msgSelectAdeckBeforeReadying=Select a deck before readying!
|
||||
#PlayerPanel
|
||||
#PlayerPanel.java
|
||||
lblLoadingDeck=Loading Deck...
|
||||
lblSchemeDeckRandomGenerated=Scheme Deck: Random Generated Deck
|
||||
lblCommanderDeckRandomGenerated=Commander Deck: Random Generated Deck
|
||||
@@ -1017,23 +1017,23 @@ lblFemale=Female
|
||||
lblAny=Any
|
||||
lblFantasy=Fantasy
|
||||
lblGeneric=Generic
|
||||
#MatchController
|
||||
#MatchController.java
|
||||
lblChooseAbilityToPlay=Choose ability to play
|
||||
lblSelected=Selected
|
||||
#ItemManager
|
||||
#ItemManager.java
|
||||
lblAdvancedSearch=Advanced Search
|
||||
lblSort=Sort
|
||||
lblResetFilters=Reset Filters
|
||||
#AdvancedSearchFilter
|
||||
#AdvancedSearchFilter.java
|
||||
lblEditExpression=Edit Expression
|
||||
lblRemoveFilter=Remove Filter
|
||||
#CardZoom
|
||||
#CardZoom.java
|
||||
lblSwipeUpTo=Swipe up to %s
|
||||
lblSwipeDownDetailView=Swipe down to switch to detail view
|
||||
lblSwipeDownPictureView=Swipe down to switch to picture view
|
||||
#VGameMenu
|
||||
#VGameMenu.java
|
||||
lblNoPlayerPriorityNoDeckListViewed=No player has priority at the moment, so deck list can't be viewed.
|
||||
#FilesPage
|
||||
#FilesPage.java
|
||||
lblFiles=Files
|
||||
lblStorageLocations=Storage Locations
|
||||
lblCardPicsLocation=Card Pics Location
|
||||
@@ -1043,7 +1043,7 @@ lblImageCacheLocation=Image Cache Location
|
||||
lblRestartForgeMoveFilesNewLocation=You'll need to restart Forge for this change to take effect. Be sure to move any necessary files to the new location before you do.
|
||||
lblRestartRequired=Restart Required
|
||||
lblSelect=Select %s
|
||||
#AddBasicLandsDialog
|
||||
#AddBasicLandsDialog.java
|
||||
lblLandSet=Land Set
|
||||
lblAddBasicLandsAutoSuggest=Add Basic Lands to %s\n(double-tap statistics to auto-suggest)
|
||||
lblAssortedArt=Assorted Art
|
||||
@@ -1052,27 +1052,89 @@ lblNonLandCount=%d non-lands
|
||||
lblOldLandCount=%d lands
|
||||
lblNewLandCount=%d added lands
|
||||
lblNewTotalCount=%d cards
|
||||
#FDeckImportDialog
|
||||
#FDeckImportDialog.java
|
||||
lblImportLatestVersionCard=Import latest version of card
|
||||
lblUseOnlySetsReleasedBefore=Use only sets released before:
|
||||
lblUseOnlyCoreAndExpansionSets=Use only core and expansion sets
|
||||
lblFollowingCardsCannotBeImported=The following cards cannot be imported due to misspelling, set restrictions, or not being in Forge yet:
|
||||
lblImportRemainingCards=Import remaining cards?
|
||||
lblNoKnownCardsOnClipboard=No known cards found on clipboard.\n\nCopy the decklist to the clipboard, then reopen this dialog.
|
||||
#FDeckViewer
|
||||
#FDeckViewer.java
|
||||
lblDeckListCopiedClipboard=Deck list for '%s' copied to clipboard.
|
||||
#FSideboardDialog
|
||||
#FSideboardDialog.java
|
||||
lblUpdateMainFromSideboard=Update main deck from sideboard%s
|
||||
#FVanguardChooser
|
||||
#FVanguardChooser.java
|
||||
lblRandomVanguard=Random Vanguard
|
||||
#FOptionPane
|
||||
#FOptionPane.java
|
||||
lblYes=Yes
|
||||
lblNo=No
|
||||
#FSpinner
|
||||
#FSpinner.java
|
||||
lblSelectANumber=Select a number
|
||||
#FTextField
|
||||
#FTextField.java
|
||||
lblCut=Cut
|
||||
lblCopy=Copy
|
||||
lblPaste=Paste
|
||||
#ListChooser
|
||||
lblSearch=Search
|
||||
#ListChooser.java
|
||||
lblSearch=Search
|
||||
#InputBase.java
|
||||
lblPriority=Priority
|
||||
lblTurn=Turn
|
||||
lblPhase=Phase
|
||||
lblEmpty=Empty
|
||||
lbltoResolve=to Resolve.
|
||||
lblStormCount=Storm Count
|
||||
#PlayerControllerHuman.java
|
||||
lblYouHaveWonTheCoinToss=%s, you have won the coin toss.
|
||||
lblYouLostTheLastGame=%s, you lost the last game.
|
||||
lblWouldYouLiketoPlayorDraw=Would you like to play or draw?
|
||||
lblWhoWouldYouLiketoStartthisGame=Who would you like to start this game? (Click on the portrait.)
|
||||
lblPlay=Play
|
||||
lblDraw=Draw
|
||||
lblTooFewCardsMainDeck=Too few cards in your main deck (minimum %s), please make modifications to your deck again.
|
||||
lblTooManyCardsSideboard=Too many cards in your sideboard (maximum %s), please make modifications to your deck again.
|
||||
lblAssignCombatDamageWerentBlocked=Do you want to assign its combat damage as though it weren't blocked?
|
||||
lblChosenCards=Chosen Cards
|
||||
lblAttacker=Attacker
|
||||
lblTriggeredby=Triggered by
|
||||
lblChooseWhichCardstoReveal=Choose Which Cards to Reveal
|
||||
lblChooseCardsActivateOpeningHandandOrder=Choose cards to activate from opening hand and their order
|
||||
lblActivateFirst=Activate first
|
||||
lblChooseOptionalCosts=Choose optional Costs
|
||||
lblOptionalCosts=Optional Costs
|
||||
lblDoYouWanttoScry=Do you want to scry?
|
||||
lblChooseCardstoSpliceonto=Choose cards to Splice onto
|
||||
lblDoNextActioninSequence=Do Next Action in Sequence
|
||||
lblPleaseDefineanActionSequenceFirst=Please define an action sequence first.
|
||||
lblRememberActionSequence=Remember Action Sequence
|
||||
lblYouMustHavePrioritytoUseThisFeature=You must have priority to use this feature.
|
||||
lblNameTheCard=Name the card
|
||||
lblWhichPlayerShouldRoll=Which player should roll?
|
||||
lblChooseResult=Choose result
|
||||
lblChosenCardNotPermanentorCantExistIndependentlyontheBattleground=The chosen card is not a permanent or can't exist independently on the battlefield.\nIf you'd like to cast a non-permanent spell, or if you'd like to cast a permanent spell and place it on stack, please use the Cast Spell/Play Land button.
|
||||
lblError=Error
|
||||
lblWinGame=Win Game
|
||||
lblSetLifetoWhat=Set life to what?
|
||||
lblSetLifeforWhichPlayer=Set life for which player
|
||||
lblChoosePermanentstoTap=Choose permanents to tap
|
||||
lblChoosePermanentstoUntap=Choose permanents to untap
|
||||
lblWhichTypeofCounter=Which type of counter?
|
||||
lblHowManyCounters=How many counters?
|
||||
lblRemoveCountersFromWhichCard=Remove counters from which card?
|
||||
lblAddCountersToWhichCard=Add counters to which card?
|
||||
lblChooseaCard=Choose a card
|
||||
lblNoPlayerPriorityDeckCantBeTutoredFrom=No player has priority at the moment, so their deck can't be tutored from.
|
||||
lblNoPlayerPriorityGameStateCannotBeSetup=No player has priority at the moment, so game state cannot be setup.
|
||||
lblErrorLoadingBattleSetupFile=Error loading battle setup file!
|
||||
lblSelectCardstoAddtoYourDeck=Select cards to add to your deck
|
||||
lblAddTheseToMyDeck=Add these to my deck
|
||||
lblChooseaPile=Choose a pile
|
||||
lblSelectOrderForSimultaneousAbilities=Select order for simultaneous abilities
|
||||
lblReorderSimultaneousAbilities=Reorder simultaneous abilities
|
||||
lblResolveFirst=Resolve first
|
||||
lblMoveCardstoToporBbottomofLibrary=Move cards to top or bottom of library
|
||||
lblSelectCardsToBeOutOnTheBottomOfYourLibrary=Select cards to be put on the bottom of your library
|
||||
lblCardsToPutOnTheBottom=Cards to put on the bottom
|
||||
lblArrangeCardsToBePutOnTopOfYourLibrary=Arrange cards to be put on top of your library
|
||||
lblTopOfLibrary=Top of Library
|
||||
lblSelectCardsToBePutIntoTheGraveyard=Select cards to be put into the graveyard
|
||||
lblCardsToPutInTheGraveyard=Cards to put in the graveyard
|
||||
@@ -989,7 +989,7 @@ lblMore=Más...
|
||||
lblLoadingNewGame=Cargando nueva partida...
|
||||
lblSelectVariants=Selecciona Variants
|
||||
msgSelectAdeckBeforeReadying=¡Selecciona un mazo antes de estar listo!
|
||||
#PlayerPanel
|
||||
#PlayerPanel.java
|
||||
lblLoadingDeck=Cargando mazo...
|
||||
lblSchemeDeckRandomGenerated=Scheme Deck: Random Generated Deck
|
||||
lblCommanderDeckRandomGenerated=Commander Deck: Random Generated Deck
|
||||
@@ -1017,23 +1017,23 @@ lblFemale=Mujer
|
||||
lblAny=Cualquiera
|
||||
lblFantasy=Fantasía
|
||||
lblGeneric=Genérico
|
||||
#MatchController
|
||||
#MatchController.java
|
||||
lblChooseAbilityToPlay=Elige la habilidad para jugar
|
||||
lblSelected=Seleccionado
|
||||
#ItemManager
|
||||
#ItemManager.java
|
||||
lblAdvancedSearch=Búsqueda Avanzada
|
||||
lblSort=Ordenar
|
||||
lblResetFilters=Reiniciar Filtros
|
||||
#AdvancedSearchFilter
|
||||
#AdvancedSearchFilter.java
|
||||
lblEditExpression=Editar Expresión
|
||||
lblRemoveFilter=Eliminar Filtro
|
||||
#CardZoom
|
||||
#CardZoom.java
|
||||
lblSwipeUpTo=Desliza hacia arriba para %s
|
||||
lblSwipeDownDetailView=Desliza hacia abajo para cambiar a la vista de detalle
|
||||
lblSwipeDownPictureView=Desliza hacia abajo para cambiar a la vista de imagen
|
||||
#VGameMenu
|
||||
#VGameMenu.java
|
||||
lblNoPlayerPriorityNoDeckListViewed=Ningún jugador tiene prioridad en este momento, por lo que la lista de mazos no se puede ver.
|
||||
#FilesPage
|
||||
#FilesPage.java
|
||||
lblFiles=Archivos
|
||||
lblStorageLocations=Ubicación del almacenamiento
|
||||
lblCardPicsLocation=Ubicación de las Imágenes de las Cartas
|
||||
@@ -1043,7 +1043,7 @@ lblImageCacheLocation=Ubicación de la Caché de imágenes
|
||||
lblRestartForgeMoveFilesNewLocation=Necesitarás reiniciar Forge para que este cambio tenga efecto. Asegúrate de mover todos los archivos necesarios a la nueva ubicación antes de hacerlo.
|
||||
lblRestartRequired=Reinicio Requerido
|
||||
lblSelect=Seleccionar %s
|
||||
#AddBasicLandsDialog
|
||||
#AddBasicLandsDialog.java
|
||||
lblLandSet=Conjunto de Tierras
|
||||
lblAddBasicLandsAutoSuggest=Añadir Tierras Básicas a %s\n(para autosugerir toca dos veces en las estadísticas)
|
||||
lblAssortedArt=Arte Variado
|
||||
@@ -1052,27 +1052,89 @@ lblNonLandCount=%d no tierras
|
||||
lblOldLandCount=%d tierras
|
||||
lblNewLandCount=%d tierras añadidas
|
||||
lblNewTotalCount=%d cartas
|
||||
#FDeckImportDialog
|
||||
#FDeckImportDialog.java
|
||||
lblImportLatestVersionCard=Importar la última versión de la carta
|
||||
lblUseOnlySetsReleasedBefore=Utilizar sólo las colecciones liberadas antes de:
|
||||
lblUseOnlyCoreAndExpansionSets=Utiliza sólo sets core o de expansión
|
||||
lblFollowingCardsCannotBeImported=Las siguientes cartas no pueden ser importadas debido a errores ortográficos, restricciones establecidas, o por no estar en Forge todavía:
|
||||
lblImportRemainingCards=¿Importar las cartas restantes?
|
||||
lblNoKnownCardsOnClipboard=No se han encontrado cartas conocidas en el portapapeles.\n\nCopia la lista del mazo en el portapapeles y, a continuación, vuelve a abrir este cuadro de diálogo.
|
||||
#FDeckViewer
|
||||
#FDeckViewer.java
|
||||
lblDeckListCopiedClipboard=Lista de Mazo para '%s' copiada al portapapeles.
|
||||
#FSideboardDialog
|
||||
#FSideboardDialog.java
|
||||
lblUpdateMainFromSideboard=Actualiza el mazo principal desde el banquillo%s
|
||||
#FVanguardChooser
|
||||
#FVanguardChooser.java
|
||||
lblRandomVanguard=Vanguard Aleatorio
|
||||
#FOptionPane
|
||||
#FOptionPane.java
|
||||
lblYes=Sí
|
||||
lblNo=No
|
||||
#FSpinner
|
||||
#FSpinner.java
|
||||
lblSelectANumber=Selecciona un número
|
||||
#FTextField
|
||||
#FTextField.java
|
||||
lblCut=Cortar
|
||||
lblCopy=Copiar
|
||||
lblPaste=Pegar
|
||||
#ListChooser
|
||||
lblSearch=Buscar
|
||||
#ListChooser.java
|
||||
lblSearch=Buscar
|
||||
#InputBase.java
|
||||
lblPriority=Prioridad
|
||||
lblTurn=Turno
|
||||
lblPhase=Fase
|
||||
lblEmpty=Vacío
|
||||
lbltoResolve=para Resolver.
|
||||
lblStormCount=Recuento de Tormentas
|
||||
#PlayerControllerHuman.java
|
||||
lblYouHaveWonTheCoinToss=%s, has ganado el lanzamiento de la moneda.
|
||||
lblYouLostTheLastGame=%s, perdiste la última partida.
|
||||
lblWouldYouLiketoPlayorDraw=¿Quieres jugar o ceder?
|
||||
lblWhoWouldYouLiketoStartthisGame=¿Quién te gustaría que empezara esta partida? (Haz clic en el retrato)
|
||||
lblPlay=Jugar
|
||||
lblDraw=Ceder
|
||||
lblTooFewCardsMainDeck=Muy pocas cartas en tu mazo principal (mínimo %s), por favor realiza modificaciones a tu mazo de nuevo.
|
||||
lblTooManyCardsSideboard=Demasiadas cartas en tu banquillo (máximo %s), por favor realiza modificaciones a tu mazo de nuevo.
|
||||
lblAssignCombatDamageWerentBlocked=¿Quieres asignar su daño de combate como si no estuviera bloqueado?
|
||||
lblChosenCards=Cartas elegidas
|
||||
lblAttacker=Atacante
|
||||
lblTriggeredby=Activado por
|
||||
lblChooseWhichCardstoReveal=Elige qué cartas revelar
|
||||
lblChooseCardsActivateOpeningHandandOrder=Elige las cartas a activar desde la mano de apertura y su orden
|
||||
lblActivateFirst=Activar primero
|
||||
lblChooseOptionalCosts=Selecciona Costes opcionales
|
||||
lblOptionalCosts=Costes opcionales
|
||||
lblDoYouWanttoScry=¿Quieres hacer un escrutinio?
|
||||
lblChooseCardstoSpliceonto=Elija las cartas para unirlas
|
||||
lblDoNextActioninSequence=Realizar la siguiente acción en secuencia
|
||||
lblPleaseDefineanActionSequenceFirst=Por favor, define primero una secuencia de acción.
|
||||
lblRememberActionSequence=Recordar la Secuencia de Acción
|
||||
lblYouMustHavePrioritytoUseThisFeature=Debes tener prioridad para utilizar esta función.
|
||||
lblNameTheCard=Nombra la carta
|
||||
lblWhichPlayerShouldRoll=¿Qué jugador debe tirar?
|
||||
lblChooseResult=Elige resultado
|
||||
lblChosenCardNotPermanentorCantExistIndependentlyontheBattleground=La carta elegida no es un permanente o no puede existir independientemente en el campo de batalla.\nSi quieres lanzar un hechizo no permanente, o si quieres lanzar un hechizo permanente y colocarlo en la pila, por favor usa el botón de Lanzar Hechizo/Jugar Tierra.
|
||||
lblError=Error
|
||||
lblWinGame=Ganar la Partida
|
||||
lblSetLifetoWhat=¿Fijar la vida a cuánto?
|
||||
lblSetLifeforWhichPlayer=Fijar la vida de cada jugador
|
||||
lblChoosePermanentstoTap=Elige los permanentes para girar
|
||||
lblChoosePermanentstoUntap=Elige los permanentes para enderezar
|
||||
lblWhichTypeofCounter=¿Qué tipo de contador?
|
||||
lblHowManyCounters=¿Cuántos contadores?
|
||||
lblRemoveCountersFromWhichCard=¿Quitar contadores de qué carta?
|
||||
lblAddCountersToWhichCard=¿Añadir contadores a qué carta?
|
||||
lblChooseaCard=Elije una carta
|
||||
lblNoPlayerPriorityDeckCantBeTutoredFrom=Ningún jugador tiene prioridad en este momento, por lo que su mazo no puede ser tutorizado.
|
||||
lblNoPlayerPriorityGameStateCannotBeSetup=Ningún jugador tiene prioridad en este momento, por lo que no se puede configurar el estado del juego.
|
||||
lblErrorLoadingBattleSetupFile=¡Error al cargar el archivo de configuración de la batalla!
|
||||
lblSelectCardstoAddtoYourDeck=Seleccione las cartas que quieres añadir a tu mazo
|
||||
lblAddTheseToMyDeck=Añade esto a mi mazo
|
||||
lblChooseaPile=Elige una pila
|
||||
lblSelectOrderForSimultaneousAbilities=Seleccionar orden para habilidades simultáneas
|
||||
lblReorderSimultaneousAbilities=Reordenar habilidades simultáneas
|
||||
lblResolveFirst=Resolver primero
|
||||
lblMoveCardstoToporBbottomofLibrary=Mover las cartas a la parte superior o inferior de la biblioteca
|
||||
lblSelectCardsToBeOutOnTheBottomOfYourLibrary=Selecciona las cartas que desea colocar en la parte inferior de su biblioteca
|
||||
lblCardsToPutOnTheBottom=Cartas para poner en la parte inferior
|
||||
lblArrangeCardsToBePutOnTopOfYourLibrary=Organizar las cartas para colocarlas en la parte superior de la biblioteca
|
||||
lblTopOfLibrary=Parte Superior de la Biblioteca
|
||||
lblSelectCardsToBePutIntoTheGraveyard=Selecciona las cartas para ponerlas en el Cementerio
|
||||
lblCardsToPutInTheGraveyard=Cartas para poner en el Cementerio
|
||||
@@ -989,7 +989,7 @@ lblMore=更多
|
||||
lblLoadingNewGame=载入新游戏中
|
||||
lblSelectVariants=选择变种
|
||||
msgSelectAdeckBeforeReadying=在准备之前选择一个套牌
|
||||
#PlayerPanel
|
||||
#PlayerPanel.java
|
||||
lblLoadingDeck=加载套牌中
|
||||
lblSchemeDeckRandomGenerated=阴谋套牌:随机生成的套牌
|
||||
lblCommanderDeckRandomGenerated=指挥官套牌:随机生成的套牌
|
||||
@@ -1017,23 +1017,23 @@ lblFemale=女
|
||||
lblAny=任意
|
||||
lblFantasy=幻想
|
||||
lblGeneric=通用
|
||||
#MatchController
|
||||
#MatchController.java
|
||||
lblChooseAbilityToPlay=选择使用的能力
|
||||
lblSelected=选择
|
||||
#ItemManager
|
||||
#ItemManager.java
|
||||
lblAdvancedSearch=高级搜索
|
||||
lblSort=排序
|
||||
lblResetFilters=重置筛选器
|
||||
#AdvancedSearchFilter
|
||||
#AdvancedSearchFilter.java
|
||||
lblEditExpression=编辑表达式
|
||||
lblRemoveFilter=移除筛选器
|
||||
#CardZoom
|
||||
#CardZoom.java
|
||||
lblSwipeUpTo=向上滑动%s
|
||||
lblSwipeDownDetailView=向下滑动即可切换到详细信息视图
|
||||
lblSwipeDownPictureView=向下滑动即可切换到图片视图
|
||||
#VGameMenu
|
||||
#VGameMenu.java
|
||||
lblNoPlayerPriorityNoDeckListViewed=现在玩家没有优先权,因此无法查看套牌列表。
|
||||
#FilesPage
|
||||
#FilesPage.java
|
||||
lblFiles=文件
|
||||
lblStorageLocations=储存位置
|
||||
lblCardPicsLocation=牌张图片位置
|
||||
@@ -1043,36 +1043,98 @@ lblImageCacheLocation=图片缓存位置
|
||||
lblRestartForgeMoveFilesNewLocation=您必须重启Forge才能使此更改生效。执行此操作之前,请确保将所有必要的文件移动到新的位置。
|
||||
lblRestartRequired=需要重启
|
||||
lblSelect=选择%s
|
||||
#AddBasicLandsDialog
|
||||
lblLandSet=Land Set
|
||||
lblAddBasicLandsAutoSuggest=Add Basic Lands to %s\n(double-tap statistics to auto-suggest)
|
||||
lblAssortedArt=Assorted Art
|
||||
lblCardArt=Card Art %d
|
||||
lblNonLandCount=%d non-lands
|
||||
lblOldLandCount=%d lands
|
||||
lblNewLandCount=%d added lands
|
||||
lblNewTotalCount=%d cards
|
||||
#FDeckImportDialog
|
||||
lblImportLatestVersionCard=Import latest version of card
|
||||
lblUseOnlySetsReleasedBefore=Use only sets released before:
|
||||
lblUseOnlyCoreAndExpansionSets=Use only core and expansion sets
|
||||
lblFollowingCardsCannotBeImported=The following cards cannot be imported due to misspelling, set restrictions, or not being in Forge yet:
|
||||
lblImportRemainingCards=Import remaining cards?
|
||||
lblNoKnownCardsOnClipboard=No known cards found on clipboard.\n\nCopy the decklist to the clipboard, then reopen this dialog.
|
||||
#FDeckViewer
|
||||
lblDeckListCopiedClipboard=Deck list for '%s' copied to clipboard.
|
||||
#FSideboardDialog
|
||||
lblUpdateMainFromSideboard=Update main deck from sideboard%s
|
||||
#FVanguardChooser
|
||||
lblRandomVanguard=Random Vanguard
|
||||
#FOptionPane
|
||||
lblYes=Yes
|
||||
lblNo=No
|
||||
#FSpinner
|
||||
lblSelectANumber=Select a number
|
||||
#FTextField
|
||||
lblCut=Cut
|
||||
lblCopy=Copy
|
||||
lblPaste=Paste
|
||||
#ListChooser
|
||||
lblSearch=Search
|
||||
#AddBasicLandsDialog.java
|
||||
lblLandSet=地牌的系列
|
||||
lblAddBasicLandsAutoSuggest=添加基本地到%s\n(双击自动添加)
|
||||
lblAssortedArt=各种画
|
||||
lblCardArt=卡图%d
|
||||
lblNonLandCount=%d张非地
|
||||
lblOldLandCount=%d张地
|
||||
lblNewLandCount=添加%d张地
|
||||
lblNewTotalCount=%d张牌
|
||||
#FDeckImportDialog.java
|
||||
lblImportLatestVersionCard=导入卡牌的最新版本
|
||||
lblUseOnlySetsReleasedBefore=只用之前上市系列的版本:
|
||||
lblUseOnlyCoreAndExpansionSets=只使用核心系列和拓展系列
|
||||
lblFollowingCardsCannotBeImported=由于拼写错误,系列限制或forge尚未实现,以下卡牌没有被导入:
|
||||
lblImportRemainingCards=导入剩余的卡?
|
||||
lblNoKnownCardsOnClipboard=在剪切板找不到已知的卡牌。\n\n将卡组列表复制到剪切板,然后重新打开此对话框。
|
||||
#FDeckViewer.java
|
||||
lblDeckListCopiedClipboard=套牌列表'%s'已经复制到剪切板
|
||||
#FSideboardDialog.java
|
||||
lblUpdateMainFromSideboard=从备牌更新%s到主牌
|
||||
#FVanguardChooser.java
|
||||
lblRandomVanguard=随机先锋
|
||||
#FOptionPane.java
|
||||
lblYes=是
|
||||
lblNo=否
|
||||
#FSpinner.java
|
||||
lblSelectANumber=选择一个数
|
||||
#FTextField.java
|
||||
lblCut=剪切
|
||||
lblCopy=复制
|
||||
lblPaste=粘贴
|
||||
#ListChooser.java
|
||||
lblSearch=搜索
|
||||
#InputBase.java
|
||||
lblPriority=Priority
|
||||
lblTurn=Turn
|
||||
lblPhase=Phase
|
||||
lblEmpty=Empty
|
||||
lbltoResolve=to Resolve.
|
||||
lblStormCount=Storm Count
|
||||
#PlayerControllerHuman.java
|
||||
lblYouHaveWonTheCoinToss=%s, you have won the coin toss.
|
||||
lblYouLostTheLastGame=%s, you lost the last game.
|
||||
lblWouldYouLiketoPlayorDraw=Would you like to play or draw?
|
||||
lblWhoWouldYouLiketoStartthisGame=Who would you like to start this game? (Click on the portrait.)
|
||||
lblPlay=Play
|
||||
lblDraw=Draw
|
||||
lblTooFewCardsMainDeck=Too few cards in your main deck (minimum %s), please make modifications to your deck again.
|
||||
lblTooManyCardsSideboard=Too many cards in your sideboard (maximum %s), please make modifications to your deck again.
|
||||
lblAssignCombatDamageWerentBlocked=Do you want to assign its combat damage as though it weren't blocked?
|
||||
lblChosenCards=Chosen Cards
|
||||
lblAttacker=Attacker
|
||||
lblTriggeredby=Triggered by
|
||||
lblChooseWhichCardstoReveal=Choose Which Cards to Reveal
|
||||
lblChooseCardsActivateOpeningHandandOrder=Choose cards to activate from opening hand and their order
|
||||
lblActivateFirst=Activate first
|
||||
lblChooseOptionalCosts=Choose optional Costs
|
||||
lblOptionalCosts=Optional Costs
|
||||
lblDoYouWanttoScry=Do you want to scry?
|
||||
lblChooseCardstoSpliceonto=Choose cards to Splice onto
|
||||
lblDoNextActioninSequence=Do Next Action in Sequence
|
||||
lblPleaseDefineanActionSequenceFirst=Please define an action sequence first.
|
||||
lblRememberActionSequence=Remember Action Sequence
|
||||
lblYouMustHavePrioritytoUseThisFeature=You must have priority to use this feature.
|
||||
lblNameTheCard=Name the card
|
||||
lblWhichPlayerShouldRoll=Which player should roll?
|
||||
lblChooseResult=Choose result
|
||||
lblChosenCardNotPermanentorCantExistIndependentlyontheBattleground=The chosen card is not a permanent or can't exist independently on the battlefield.\nIf you'd like to cast a non-permanent spell, or if you'd like to cast a permanent spell and place it on stack, please use the Cast Spell/Play Land button.
|
||||
lblError=Error
|
||||
lblWinGame=Win Game
|
||||
lblSetLifetoWhat=Set life to what?
|
||||
lblSetLifeforWhichPlayer=Set life for which player
|
||||
lblChoosePermanentstoTap=Choose permanents to tap
|
||||
lblChoosePermanentstoUntap=Choose permanents to untap
|
||||
lblWhichTypeofCounter=Which type of counter?
|
||||
lblHowManyCounters=How many counters?
|
||||
lblRemoveCountersFromWhichCard=Remove counters from which card?
|
||||
lblAddCountersToWhichCard=Add counters to which card?
|
||||
lblChooseaCard=Choose a card
|
||||
lblNoPlayerPriorityDeckCantBeTutoredFrom=No player has priority at the moment, so their deck can't be tutored from.
|
||||
lblNoPlayerPriorityGameStateCannotBeSetup=No player has priority at the moment, so game state cannot be setup.
|
||||
lblErrorLoadingBattleSetupFile=Error loading battle setup file!
|
||||
lblSelectCardstoAddtoYourDeck=Select cards to add to your deck
|
||||
lblAddTheseToMyDeck=Add these to my deck
|
||||
lblChooseaPile=Choose a pile
|
||||
lblSelectOrderForSimultaneousAbilities=Select order for simultaneous abilities
|
||||
lblReorderSimultaneousAbilities=Reorder simultaneous abilities
|
||||
lblResolveFirst=Resolve first
|
||||
lblMoveCardstoToporBbottomofLibrary=Move cards to top or bottom of library
|
||||
lblSelectCardsToBeOutOnTheBottomOfYourLibrary=Select cards to be put on the bottom of your library
|
||||
lblCardsToPutOnTheBottom=Cards to put on the bottom
|
||||
lblArrangeCardsToBePutOnTopOfYourLibrary=Arrange cards to be put on top of your library
|
||||
lblTopOfLibrary=Top of Library
|
||||
lblSelectCardsToBePutIntoTheGraveyard=Select cards to be put into the graveyard
|
||||
lblCardsToPutInTheGraveyard=Cards to put in the graveyard
|
||||
16
forge-gui/res/puzzle/PS_MGOB.pzl
Normal file
16
forge-gui/res/puzzle/PS_MGOB.pzl
Normal file
@@ -0,0 +1,16 @@
|
||||
[metadata]
|
||||
Name:Possibility Storm - Special Guest Puzzle - Modern Goblins
|
||||
URL:http://www.possibilitystorm.com/wp-content/uploads/2019/09/129.-FK01.jpg
|
||||
Goal:Win
|
||||
Turns:1
|
||||
Difficulty:Mythic
|
||||
Description:Win this turn. Your opponent has chosen 'Goblin' with Plague Engineer's ability.
|
||||
[state]
|
||||
humanlife=20
|
||||
ailife=19
|
||||
turn=1
|
||||
activeplayer=human
|
||||
activephase=MAIN1
|
||||
humanhand=Krenko, Mob Boss;Sling-Gang Lieutenant;Munitions Expert;Goblin Warchief;Goblin Piledriver;Skirk Prospector
|
||||
humanbattlefield=Pashalik Mons;Goblin Guide;Kiki-Jiki, Mirror Breaker;Mountain;Mountain;Mountain;Blood Crypt|NoETBTrigs;Blood Crypt|NoETBTrigs
|
||||
aibattlefield=Plague Engineer|ChosenType:Goblin|Id:1;Sylvok Lifestaff|AttachedTo:1;Sylvok Lifestaff|AttachedTo:1;Accorder's Shield|AttachedTo:1
|
||||
Binary file not shown.
@@ -31,6 +31,7 @@ import forge.model.FModel;
|
||||
import forge.player.PlayerControllerHuman;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.util.ITriggerEvent;
|
||||
import forge.util.Localizer;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -131,20 +132,20 @@ public abstract class InputBase implements java.io.Serializable, Input {
|
||||
protected String getTurnPhasePriorityMessage(final Game game) {
|
||||
final PhaseHandler ph = game.getPhaseHandler();
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("Priority: ").append(ph.getPriorityPlayer()).append("\n");
|
||||
sb.append("Turn ").append(ph.getTurn()).append(" (").append(ph.getPlayerTurn()).append(")\n");
|
||||
sb.append("Phase: ").append(ph.getPhase().nameForUi).append("\n");
|
||||
sb.append("Stack: ");
|
||||
Localizer localizer = Localizer.getInstance();
|
||||
sb.append(localizer.getMessage("lblPriority")).append(": ").append(ph.getPriorityPlayer()).append("\n");
|
||||
sb.append(localizer.getMessage("lblTurn")).append(": ").append(ph.getTurn()).append(" (").append(ph.getPlayerTurn()).append(")\n");
|
||||
sb.append(localizer.getMessage("lblPhase")).append(": ").append(ph.getPhase().nameForUi).append("\n");
|
||||
sb.append(localizer.getMessage("lblStack")).append(": ");
|
||||
if (!game.getStack().isEmpty()) {
|
||||
sb.append(game.getStack().size()).append(" to Resolve.");
|
||||
sb.append(game.getStack().size()).append(" ").append(localizer.getMessage("lbltoResolve"));
|
||||
} else {
|
||||
sb.append("Empty");
|
||||
sb.append(localizer.getMessage("lblEmpty"));
|
||||
}
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_SHOW_STORM_COUNT_IN_PROMPT)) {
|
||||
int stormCount = game.getView().getStormCount();
|
||||
if (stormCount > 0) {
|
||||
sb.append("\n").append("Storm Count: ").append(stormCount);
|
||||
sb.append("\n").append(localizer.getMessage("lblStormCount")).append(": ").append(stormCount);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
|
||||
@@ -58,6 +58,7 @@ import forge.properties.ForgePreferences.FPref;
|
||||
import forge.trackable.TrackableObject;
|
||||
import forge.util.ITriggerEvent;
|
||||
import forge.util.Lang;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.MessageUtil;
|
||||
import forge.util.TextUtil;
|
||||
import forge.util.collect.FCollection;
|
||||
@@ -91,6 +92,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
protected final InputQueue inputQueue;
|
||||
protected final InputProxy inputProxy;
|
||||
|
||||
private final Localizer localizer = Localizer.getInstance();
|
||||
|
||||
public PlayerControllerHuman(final Game game0, final Player p, final LobbyPlayer lp) {
|
||||
super(game0, p, lp);
|
||||
inputProxy = new InputProxy(this);
|
||||
@@ -243,13 +246,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
if (newMain != null) {
|
||||
String errMsg;
|
||||
if (newMain.size() < deckMinSize) {
|
||||
errMsg = TextUtil.concatNoSpace("Too few cards in your main deck (minimum ",
|
||||
String.valueOf(deckMinSize), "), please make modifications to your deck again.");
|
||||
errMsg = TextUtil.concatNoSpace(localizer.getMessage("lblTooFewCardsMainDeck").replace("%s", String.valueOf(deckMinSize)));
|
||||
|
||||
} else {
|
||||
errMsg = TextUtil.concatNoSpace("Too many cards in your sideboard (maximum ",
|
||||
String.valueOf(sbMax), "), please make modifications to your deck again.");
|
||||
errMsg = TextUtil.concatNoSpace(localizer.getMessage("lblTooManyCardsSideboard").replace("%s", String.valueOf(sbMax)));
|
||||
}
|
||||
getGui().showErrorDialog(errMsg, "Invalid Deck");
|
||||
getGui().showErrorDialog(errMsg, localizer.getMessage("lblInvalidDeck"));
|
||||
}
|
||||
// Sideboard rules have changed for M14, just need to consider min
|
||||
// maindeck and max sideboard sizes
|
||||
@@ -301,7 +303,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
if (attacker.hasKeyword("CARDNAME assigns its combat damage as though it weren't blocked.") || attacker
|
||||
.hasKeyword("You may have CARDNAME assign its combat damage as though it weren't blocked.")) {
|
||||
return InputConfirm.confirm(this, CardView.get(attacker),
|
||||
"Do you want to assign its combat damage as though it weren't blocked?");
|
||||
localizer.getMessage("lblAssignCombatDamageWerentBlocked"));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -404,7 +406,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
}
|
||||
|
||||
tempShowCards(sourceList);
|
||||
final CardCollection choices = getGame().getCardList(getGui().many(title, "Chosen Cards", min, max,
|
||||
final CardCollection choices = getGame().getCardList(getGui().many(title, localizer.getMessage("lblChosenCards"), min, max,
|
||||
CardView.getCollection(sourceList), CardView.get(sa.getHostCard())));
|
||||
endTempShowCards();
|
||||
|
||||
@@ -634,13 +636,13 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
}
|
||||
final Map<AbilityKey, Object> tos = sa.getTriggeringObjects();
|
||||
if (tos.containsKey(AbilityKey.Attacker)) {
|
||||
buildQuestion.append("\nAttacker: ").append(tos.get(AbilityKey.Attacker));
|
||||
buildQuestion.append("\n").append(localizer.getMessage("lblAttacker")).append(": ").append(tos.get(AbilityKey.Attacker));
|
||||
}
|
||||
if (tos.containsKey(AbilityKey.Card)) {
|
||||
final Card card = (Card) tos.get(AbilityKey.Card);
|
||||
if (card != null && (card.getController() == player || game.getZoneOf(card) == null
|
||||
|| game.getZoneOf(card).getZoneType().isKnown())) {
|
||||
buildQuestion.append("\nTriggered by: ").append(tos.get(AbilityKey.Card));
|
||||
buildQuestion.append("\n").append(localizer.getMessage("lblTriggeredby")).append(": ").append(tos.get(AbilityKey.Card));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -652,15 +654,18 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
@Override
|
||||
public Player chooseStartingPlayer(final boolean isFirstGame) {
|
||||
if (game.getPlayers().size() == 2) {
|
||||
final String prompt = String.format("%s, you %s\n\nWould you like to play or draw?", player.getName(),
|
||||
isFirstGame ? " have won the coin toss." : " lost the last game.");
|
||||
final InputConfirm inp = new InputConfirm(this, prompt, "Play", "Draw");
|
||||
String prompt = String.format(
|
||||
isFirstGame ? localizer.getMessage("lblYouHaveWonTheCoinToss") : localizer.getMessage("lblYouLostTheLastGame"),
|
||||
player.getName());
|
||||
prompt += "\n\n" + localizer.getMessage("lblWouldYouLiketoPlayorDraw");
|
||||
final InputConfirm inp = new InputConfirm(this, prompt, localizer.getMessage("lblPlay"), localizer.getMessage("lblDraw"));
|
||||
inp.showAndWait();
|
||||
return inp.getResult() ? this.player : this.player.getOpponents().get(0);
|
||||
} else {
|
||||
final String prompt = String.format(
|
||||
"%s, you %s\n\nWho would you like to start this game? (Click on the portrait.)", player.getName(),
|
||||
isFirstGame ? " have won the coin toss." : " lost the last game.");
|
||||
String prompt = String.format(
|
||||
isFirstGame ? localizer.getMessage("lblYouHaveWonTheCoinToss") : localizer.getMessage("lblYouLostTheLastGame"),
|
||||
player.getName());
|
||||
prompt += "\n\n" + localizer.getMessage("lblWhoWouldYouLiketoStartthisGame");
|
||||
final InputSelectEntitiesFromList<Player> input = new InputSelectEntitiesFromList<>(this, 1, 1,
|
||||
new FCollection<>(game.getPlayersInTurnOrder()));
|
||||
input.setMessage(prompt);
|
||||
@@ -739,7 +744,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
}
|
||||
|
||||
public ImmutablePair<CardCollection, CardCollection> arrangeForMove(final String title, final FCollectionView<Card> cards, final List<Card> manipulable, final boolean topOK, final boolean bottomOK) {
|
||||
List<Card> result = manipulateCardList("Move cards to top or bottom of library", cards, manipulable, topOK, bottomOK, false);
|
||||
List<Card> result = manipulateCardList(localizer.getMessage("lblMoveCardstoToporBbottomofLibrary"), cards, manipulable, topOK, bottomOK, false);
|
||||
CardCollection toBottom = new CardCollection();
|
||||
CardCollection toTop = new CardCollection();
|
||||
for (int i = 0; i<cards.size() && manipulable.contains(result.get(i)) ; i++ ) {
|
||||
@@ -763,7 +768,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
(!GuiBase.getInterface().isLibgdxPort()) ) {
|
||||
CardCollectionView cardList = player.getCardsIn(ZoneType.Library);
|
||||
ImmutablePair<CardCollection, CardCollection> result =
|
||||
arrangeForMove("Move cards to top or bottom of library", cardList, topN, true, true);
|
||||
arrangeForMove(localizer.getMessage("lblMoveCardstoToporBbottomofLibrary"), cardList, topN, true, true);
|
||||
toTop = result.getLeft();
|
||||
toBottom = result.getRight();
|
||||
} else {
|
||||
@@ -774,16 +779,16 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
toBottom = topN;
|
||||
}
|
||||
} else {
|
||||
toBottom = game.getCardList(getGui().many("Select cards to be put on the bottom of your library",
|
||||
"Cards to put on the bottom", -1, CardView.getCollection(topN), null));
|
||||
toBottom = game.getCardList(getGui().many(localizer.getMessage("lblSelectCardsToBeOutOnTheBottomOfYourLibrary"),
|
||||
localizer.getMessage("lblCardsToPutOnTheBottom"), -1, CardView.getCollection(topN), null));
|
||||
topN.removeAll(toBottom);
|
||||
if (topN.isEmpty()) {
|
||||
toTop = null;
|
||||
} else if (topN.size() == 1) {
|
||||
toTop = topN;
|
||||
} else {
|
||||
toTop = game.getCardList(getGui().order("Arrange cards to be put on top of your library",
|
||||
"Top of Library", CardView.getCollection(topN), null));
|
||||
toTop = game.getCardList(getGui().order(localizer.getMessage("lblArrangeCardsToBePutOnTopOfYourLibrary"),
|
||||
localizer.getMessage("lblTopOfLibrary"), CardView.getCollection(topN), null));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -812,16 +817,16 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
toGrave = topN;
|
||||
}
|
||||
} else {
|
||||
toGrave = game.getCardList(getGui().many("Select cards to be put into the graveyard",
|
||||
"Cards to put in the graveyard", -1, CardView.getCollection(topN), null));
|
||||
toGrave = game.getCardList(getGui().many(localizer.getMessage("lblSelectCardsToBePutIntoTheGraveyard"),
|
||||
localizer.getMessage("lblCardsToPutInTheGraveyard"), -1, CardView.getCollection(topN), null));
|
||||
topN.removeAll(toGrave);
|
||||
if (topN.isEmpty()) {
|
||||
toTop = null;
|
||||
} else if (topN.size() == 1) {
|
||||
toTop = topN;
|
||||
} else {
|
||||
toTop = game.getCardList(getGui().order("Arrange cards to be put on top of your library",
|
||||
"Top of Library", CardView.getCollection(topN), null));
|
||||
toTop = game.getCardList(getGui().order(localizer.getMessage("lblArrangeCardsToBePutOnTopOfYourLibrary"),
|
||||
localizer.getMessage("lblTopOfLibrary"), CardView.getCollection(topN), null));
|
||||
}
|
||||
}
|
||||
endTempShowCards();
|
||||
@@ -1324,7 +1329,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
max = Math.min(max, valid.size());
|
||||
min = Math.min(min, max);
|
||||
final InputSelectCardsFromList inp = new InputSelectCardsFromList(this, min, max, valid);
|
||||
inp.setMessage("Choose Which Cards to Reveal");
|
||||
inp.setMessage(localizer.getMessage("lblChooseWhichCardstoReveal"));
|
||||
inp.showAndWait();
|
||||
return new CardCollection(inp.getSelected());
|
||||
}
|
||||
@@ -1349,8 +1354,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
if (srcCards.isEmpty()) {
|
||||
return result;
|
||||
}
|
||||
final List<CardView> chosen = getGui().many("Choose cards to activate from opening hand and their order",
|
||||
"Activate first", -1, CardView.getCollection(srcCards), null);
|
||||
final List<CardView> chosen = getGui().many(localizer.getMessage("lblChooseCardsActivateOpeningHandandOrder"),
|
||||
localizer.getMessage("lblActivateFirst"), -1, CardView.getCollection(srcCards), null);
|
||||
for (final CardView view : chosen) {
|
||||
final Card c = game.getCard(view);
|
||||
for (final SpellAbility sa : usableFromOpeningHand) {
|
||||
@@ -1664,11 +1669,11 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
if (savedOrder != null) {
|
||||
boolean preselect = FModel.getPreferences()
|
||||
.getPrefBoolean(FPref.UI_PRESELECT_PREVIOUS_ABILITY_ORDER);
|
||||
orderedSAVs = getGui().order("Reorder simultaneous abilities", "Resolve first", 0, 0,
|
||||
orderedSAVs = getGui().order(localizer.getMessage("lblReorderSimultaneousAbilities"), localizer.getMessage("lblResolveFirst"), 0, 0,
|
||||
preselect ? Lists.newArrayList() : orderedSAVs,
|
||||
preselect ? orderedSAVs : Lists.newArrayList(), null, false);
|
||||
} else {
|
||||
orderedSAVs = getGui().order("Select order for simultaneous abilities", "Resolve first", orderedSAVs,
|
||||
orderedSAVs = getGui().order(localizer.getMessage("lblSelectOrderForSimultaneousAbilities"), localizer.getMessage("lblResolveFirst"), orderedSAVs,
|
||||
null);
|
||||
}
|
||||
orderedSAs = Lists.newArrayList();
|
||||
@@ -1742,7 +1747,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
// make sure Pile 1 or Pile 2 is clicked on
|
||||
boolean result;
|
||||
while (true) {
|
||||
final CardView chosen = getGui().one("Choose a pile", cards);
|
||||
final CardView chosen = getGui().one(localizer.getMessage("lblChooseaPile"), cards);
|
||||
if (chosen.equals(pileView1)) {
|
||||
result = true;
|
||||
break;
|
||||
@@ -1767,7 +1772,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
|
||||
@Override
|
||||
public List<PaperCard> chooseCardsYouWonToAddToDeck(final List<PaperCard> losses) {
|
||||
return getGui().many("Select cards to add to your deck", "Add these to my deck", 0, losses.size(), losses,
|
||||
return getGui().many(localizer.getMessage("lblSelectCardstoAddtoYourDeck"), localizer.getMessage("lblAddTheseToMyDeck"), 0, losses.size(), losses,
|
||||
null);
|
||||
}
|
||||
|
||||
@@ -2079,13 +2084,13 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
SOptionPane.showErrorDialog("File not found: " + filename);
|
||||
return;
|
||||
} catch (final Exception e) {
|
||||
SOptionPane.showErrorDialog("Error loading battle setup file!");
|
||||
SOptionPane.showErrorDialog(localizer.getMessage("lblErrorLoadingBattleSetupFile"));
|
||||
return;
|
||||
}
|
||||
|
||||
final Player pPriority = game.getPhaseHandler().getPriorityPlayer();
|
||||
if (pPriority == null) {
|
||||
getGui().message("No player has priority at the moment, so game state cannot be setup.");
|
||||
getGui().message(localizer.getMessage("lblNoPlayerPriorityGameStateCannotBeSetup"));
|
||||
return;
|
||||
}
|
||||
state.applyToGame(game);
|
||||
@@ -2100,7 +2105,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
public void tutorForCard() {
|
||||
final Player pPriority = game.getPhaseHandler().getPriorityPlayer();
|
||||
if (pPriority == null) {
|
||||
getGui().message("No player has priority at the moment, so their deck can't be tutored from.");
|
||||
getGui().message(localizer.getMessage("lblNoPlayerPriorityDeckCantBeTutoredFrom"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2108,7 +2113,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
final List<ZoneType> origin = Lists.newArrayList();
|
||||
origin.add(ZoneType.Library);
|
||||
final SpellAbility sa = new SpellAbility.EmptySa(new Card(-1, game));
|
||||
final Card card = chooseSingleCardForZoneChange(ZoneType.Hand, origin, sa, lib, null, "Choose a card", true,
|
||||
final Card card = chooseSingleCardForZoneChange(ZoneType.Hand, origin, sa, lib, null, localizer.getMessage("lblChooseaCard"), true,
|
||||
pPriority);
|
||||
if (card == null) {
|
||||
return;
|
||||
@@ -2143,7 +2148,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
}
|
||||
|
||||
public void modifyCountersOnPermanent(boolean subtract) {
|
||||
final String titleMsg = subtract ? "Remove counters from which card?" : "Add counters to which card?";
|
||||
final String titleMsg = subtract ? localizer.getMessage("lblRemoveCountersFromWhichCard") : localizer.getMessage("lblAddCountersToWhichCard");
|
||||
final CardCollectionView cards = game.getCardsIn(ZoneType.Battlefield);
|
||||
final Card card = game
|
||||
.getCard(getGui().oneOrNone(titleMsg, CardView.getCollection(cards)));
|
||||
@@ -2154,12 +2159,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
final ImmutableList<CounterType> counters = subtract ? ImmutableList.copyOf(card.getCounters().keySet())
|
||||
: CounterType.values;
|
||||
|
||||
final CounterType counter = getGui().oneOrNone("Which type of counter?", counters);
|
||||
final CounterType counter = getGui().oneOrNone(localizer.getMessage("lblWhichTypeofCounter"), counters);
|
||||
if (counter == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Integer count = getGui().getInteger("How many counters?", 1, Integer.MAX_VALUE, 10);
|
||||
final Integer count = getGui().getInteger(localizer.getMessage("lblHowManyCounters"), 1, Integer.MAX_VALUE, 10);
|
||||
if (count == null) {
|
||||
return;
|
||||
}
|
||||
@@ -2187,7 +2192,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
final InputSelectCardsFromList inp = new InputSelectCardsFromList(PlayerControllerHuman.this, 0,
|
||||
Integer.MAX_VALUE, untapped);
|
||||
inp.setCancelAllowed(true);
|
||||
inp.setMessage("Choose permanents to tap");
|
||||
inp.setMessage(localizer.getMessage("lblChoosePermanentstoTap"));
|
||||
inp.showAndWait();
|
||||
if (!inp.hasCancelled()) {
|
||||
for (final Card c : inp.getSelected()) {
|
||||
@@ -2213,7 +2218,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
final InputSelectCardsFromList inp = new InputSelectCardsFromList(PlayerControllerHuman.this, 0,
|
||||
Integer.MAX_VALUE, tapped);
|
||||
inp.setCancelAllowed(true);
|
||||
inp.setMessage("Choose permanents to untap");
|
||||
inp.setMessage(localizer.getMessage("lblChoosePermanentstoUntap"));
|
||||
inp.showAndWait();
|
||||
if (!inp.hasCancelled()) {
|
||||
for (final Card c : inp.getSelected()) {
|
||||
@@ -2232,12 +2237,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
@Override
|
||||
public void setPlayerLife() {
|
||||
final Player player = game.getPlayer(
|
||||
getGui().oneOrNone("Set life for which player?", PlayerView.getCollection(game.getPlayers())));
|
||||
getGui().oneOrNone(localizer.getMessage("lblSetLifeforWhichPlayer"), PlayerView.getCollection(game.getPlayers())));
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Integer life = getGui().getInteger("Set life to what?", 0);
|
||||
final Integer life = getGui().getInteger(localizer.getMessage("lblSetLifetoWhat"), 0);
|
||||
if (life == null) {
|
||||
return;
|
||||
}
|
||||
@@ -2254,7 +2259,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
public void winGame() {
|
||||
final Input input = inputQueue.getInput();
|
||||
if (!(input instanceof InputPassPriority)) {
|
||||
getGui().message("You must have priority to use this feature.", "Win Game");
|
||||
getGui().message(localizer.getMessage("lblYouMustHavePrioritytoUseThisFeature"), localizer.getMessage("lblWinGame"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2361,7 +2366,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
Collections.sort(faces);
|
||||
|
||||
// use standard forge's list selection dialog
|
||||
final ICardFace f = repeatLast ? lastAdded : getGui().oneOrNone("Name the card", faces);
|
||||
final ICardFace f = repeatLast ? lastAdded : getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), faces);
|
||||
if (f == null) {
|
||||
return;
|
||||
}
|
||||
@@ -2390,7 +2395,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
forgeCard.setSickness(lastSummoningSickness);
|
||||
}
|
||||
} else {
|
||||
getGui().message("The chosen card is not a permanent or can't exist independently on the battlefield.\nIf you'd like to cast a non-permanent spell, or if you'd like to cast a permanent spell and place it on stack, please use the Cast Spell/Play Land button.", "Error");
|
||||
getGui().message(localizer.getMessage("lblChosenCardNotPermanentorCantExistIndependentlyontheBattleground"), localizer.getMessage("lblError"));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
@@ -2565,12 +2570,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
@Override
|
||||
public void riggedPlanarRoll() {
|
||||
final Player player = game.getPlayer(
|
||||
getGui().oneOrNone("Which player should roll?", PlayerView.getCollection(game.getPlayers())));
|
||||
getGui().oneOrNone(localizer.getMessage("lblWhichPlayerShouldRoll"), PlayerView.getCollection(game.getPlayers())));
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final PlanarDice res = getGui().oneOrNone("Choose result", PlanarDice.values);
|
||||
final PlanarDice res = getGui().oneOrNone(localizer.getMessage("lblChooseResult"), PlanarDice.values);
|
||||
if (res == null) {
|
||||
return;
|
||||
}
|
||||
@@ -2606,7 +2611,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
Collections.sort(allPlanars);
|
||||
|
||||
// use standard forge's list selection dialog
|
||||
final IPaperCard c = getGui().oneOrNone("Name the card", allPlanars);
|
||||
final IPaperCard c = getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), allPlanars);
|
||||
if (c == null) {
|
||||
return;
|
||||
}
|
||||
@@ -2647,12 +2652,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
|
||||
@Override
|
||||
public void setRememberedActions() {
|
||||
final String dialogTitle = "Remember Action Sequence";
|
||||
final String dialogTitle = localizer.getMessage("lblRememberActionSequence");
|
||||
// Not sure if this priority guard is really needed, but it seems
|
||||
// like an alright idea.
|
||||
final Input input = inputQueue.getInput();
|
||||
if (!(input instanceof InputPassPriority)) {
|
||||
getGui().message("You must have priority to use this feature.", dialogTitle);
|
||||
getGui().message(localizer.getMessage("lblYouMustHavePrioritytoUseThisFeature"), dialogTitle);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2761,9 +2766,9 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
|
||||
@Override
|
||||
public void nextRememberedAction() {
|
||||
final String dialogTitle = "Do Next Action in Sequence";
|
||||
final String dialogTitle = localizer.getMessage("lblDoNextActioninSequence");
|
||||
if (rememberedActions.isEmpty()) {
|
||||
getGui().message("Please define an action sequence first.", dialogTitle);
|
||||
getGui().message(localizer.getMessage("lblPleaseDefineanActionSequenceFirst"), dialogTitle);
|
||||
return;
|
||||
}
|
||||
if (sequenceIndex >= rememberedActions.size()) {
|
||||
@@ -2861,8 +2866,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
List<CardView> choices = new ArrayList<>(mapCVtoC.keySet());
|
||||
List<CardView> chosen;
|
||||
chosen = getGui().many(
|
||||
"Choose cards to Splice onto",
|
||||
"Chosen Cards",
|
||||
localizer.getMessage("lblChooseCardstoSpliceonto"),
|
||||
localizer.getMessage("lblChosenCards"),
|
||||
0,
|
||||
choices.size(),
|
||||
choices,
|
||||
@@ -2884,13 +2889,13 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
@Override
|
||||
public List<OptionalCostValue> chooseOptionalCosts(SpellAbility choosen,
|
||||
List<OptionalCostValue> optionalCost) {
|
||||
return getGui().many("Choose optional Costs", "Optional Costs", 0, optionalCost.size(),
|
||||
return getGui().many(localizer.getMessage("lblChooseOptionalCosts"), localizer.getMessage("lblOptionalCosts"), 0, optionalCost.size(),
|
||||
optionalCost, choosen.getHostCard().getView());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean confirmMulliganScry(Player p) {
|
||||
return InputConfirm.confirm(this, (SpellAbility)null, "Do you want to scry?");
|
||||
return InputConfirm.confirm(this, (SpellAbility)null, localizer.getMessage("lblDoYouWanttoScry"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user