diff --git a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java index 87ef2206087..5caf394fdd6 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VCardDisplayArea.java @@ -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 diff --git a/forge-gui/res/cardsfolder/m/malakir_familiar.txt b/forge-gui/res/cardsfolder/m/malakir_familiar.txt index 65109d3bea6..5a113168af5 100644 --- a/forge-gui/res/cardsfolder/m/malakir_familiar.txt +++ b/forge-gui/res/cardsfolder/m/malakir_familiar.txt @@ -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. diff --git a/forge-gui/res/cardsfolder/upcoming/belle_of_the_brawl.txt b/forge-gui/res/cardsfolder/upcoming/belle_of_the_brawl.txt index 0f28dc9cafc..fd630972f0d 100644 --- a/forge-gui/res/cardsfolder/upcoming/belle_of_the_brawl.txt +++ b/forge-gui/res/cardsfolder/upcoming/belle_of_the_brawl.txt @@ -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. diff --git a/forge-gui/res/cube/MTGO Grixis Cube September 2019 (540 Cards).dck b/forge-gui/res/cube/MTGO Grixis Cube September 2019 (540 Cards).dck new file mode 100644 index 00000000000..5f5743cdf96 --- /dev/null +++ b/forge-gui/res/cube/MTGO Grixis Cube September 2019 (540 Cards).dck @@ -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 diff --git a/forge-gui/res/draft/MTGO Grixis Cube September 2019 (540 Cards).draft b/forge-gui/res/draft/MTGO Grixis Cube September 2019 (540 Cards).draft new file mode 100644 index 00000000000..636d4dea560 --- /dev/null +++ b/forge-gui/res/draft/MTGO Grixis Cube September 2019 (540 Cards).draft @@ -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 diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 27bef1a9c24..e76b6032b2e 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -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 \ No newline at end of file +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 diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 6c85ad94ed4..e39038898bb 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -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 \ No newline at end of file +#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 \ No newline at end of file diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index b0982c9f060..c407f19cbb9 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -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 \ No newline at end of file +#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 \ No newline at end of file diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 87e9c36c2c0..fbee743849e 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -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 \ No newline at end of file +#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 \ No newline at end of file diff --git a/forge-gui/res/puzzle/PS_MGOB.pzl b/forge-gui/res/puzzle/PS_MGOB.pzl new file mode 100644 index 00000000000..93f717a448c --- /dev/null +++ b/forge-gui/res/puzzle/PS_MGOB.pzl @@ -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 diff --git a/forge-gui/res/skins/darkred/font1.ttf b/forge-gui/res/skins/darkred/font1.ttf index ad1efca88ae..1f5704ed579 100644 Binary files a/forge-gui/res/skins/darkred/font1.ttf and b/forge-gui/res/skins/darkred/font1.ttf differ diff --git a/forge-gui/src/main/java/forge/match/input/InputBase.java b/forge-gui/src/main/java/forge/match/input/InputBase.java index fb51f0c1afb..ecac955ded0 100644 --- a/forge-gui/src/main/java/forge/match/input/InputBase.java +++ b/forge-gui/src/main/java/forge/match/input/InputBase.java @@ -31,6 +31,7 @@ import forge.model.FModel; import forge.player.PlayerControllerHuman; import forge.properties.ForgePreferences; import forge.util.ITriggerEvent; +import forge.util.Localizer; /** *
@@ -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();
diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java
index c3504690564..267eae1e1a9 100644
--- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java
+++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java
@@ -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