Commit graph

2416 commits

Author SHA1 Message Date
LevelX2
af2d55f8aa Deck editor - Fixed a bug that the card list could not be sorted by color text. 2018-05-26 01:20:55 +02:00
LevelX2
4a0427a54e
Merge pull request #4965 from GrayedFox/issue-4952-fix-touranment-lobby-prefs
Issue 4952 fix touranment lobby column width and order
2018-05-24 23:32:26 +02:00
GrayedFox
f3cdad97e7
add default width for History (also fixes stored width not being used) 2018-05-23 19:06:01 +02:00
GrayedFox
9da01a1270
remove logging 2018-05-23 18:50:12 +02:00
GrayedFox
49fd99a45b
fix columns being resized due to auto creation flag 2018-05-23 18:00:25 +02:00
GrayedFox
42b539c41f
renamed utility functions for clarity 2018-05-23 16:49:48 +02:00
GrayedFox
32cb438e7c
minor refactor - code ordering and variable reference 2018-05-22 21:26:17 +02:00
GrayedFox
ebc36c503e
add restoring tournament table chat divider location
refactor getting current bounds into utility function
2018-05-22 20:36:05 +02:00
GrayedFox
5822a7d94d
refactor divider setting and saving into utility functions
refactor setting and saving filters into utility functions
2018-05-22 20:11:07 +02:00
LevelX2
f89c3cc65b
Merge pull request #4953 from GrayedFox/issue-4952-fix-touranment-lobby-prefs
Issue 4952 fix touranment lobby prefs (WIP)
2018-05-22 16:56:43 +02:00
LevelX2
edc7daf126
Merge pull request #4916 from Faxn/enhancement/startArgs
Enhancement/Autoconnect by Argument
2018-05-22 06:57:38 +02:00
GrayedFox
f1f2a80f4f
add logging for restoring/saving column width and order (remove later) 2018-05-20 21:24:59 +02:00
GrayedFox
0fe129f817
remove todo (column wodth and sort order persists through restarts) 2018-05-20 20:12:22 +02:00
GrayedFox
a3e433f7bd
remove offending line setting width incorrectly (was always 1647) 2018-05-20 19:25:31 +02:00
GrayedFox
06392f510c
refactor code
reorder import statemets
tableSeats renamed to jTableSeats to follow naming scheme
setGUISize called sooner (as it is in PlayersChatPanel.java)
2018-05-20 18:33:06 +02:00
Evan Kranzler
30922924f5 added TheElk801 as a dev 2018-05-15 20:22:05 -04:00
Michael Simons
f39a6e9411 Set Commander Anthology Vol II added 2018-05-12 19:11:05 -04:00
Blake Curry
5e6474c06e Improved command line autoconnect
Changed how the  command line autoconnect was handled to leverage the existing autoconnect code.
2018-05-10 14:05:34 -04:00
campb
6ad23a2f3d Parsing connect arguments and connecting. 2018-05-10 14:05:34 -04:00
Michael Simons
15c72f6d8d Token image changes for DOM 2018-05-10 00:25:49 -04:00
Michael Simons
969bf282cd Merge dom_tokens 2018-05-09 23:33:10 -04:00
Michael Simons
e654635211 Token changes for C17 2018-05-09 22:13:30 -04:00
LevelX2
feb17320c5 Some minor changes. 2018-05-06 09:44:14 +02:00
Oleg Agafonov
e9d5afd530 Refactoring: replace custom creature tokens with basic class 2018-05-06 00:50:02 +04:00
LevelX2
cddd81123b Some changes related to #4893. 2018-05-03 01:33:21 +02:00
Oleg Agafonov
b6bad9ca96 * Fixed viewer's error on tokens show up (Mirage and other); Fixed some tokens. 2018-05-02 15:16:39 +04:00
spjspj
4b4d7989cd
Merge pull request #4879 from spjspj/master
Add planechase to new tournament window as well.
2018-05-02 18:31:59 +10:00
Oleg Agafonov
4d31294ee9 Refactor images path code 2018-05-02 00:16:41 +04:00
spjspj
1dbffe70b5 Add planechase to tournaments 2018-04-29 23:47:08 +10:00
Oleg Agafonov
f682bfb527 * [Start Wars] Fixed all tokens (viewer, image download); 2018-04-29 01:20:40 +04:00
Oleg Agafonov
bb3c7232ea * [Start Wars] Fixed Obi-Wan Kenobi emblem (viewer, image download); 2018-04-28 22:43:28 +04:00
Oleg Agafonov
7cb90e2475 * Fixed same images download bug for basic lands in Star Wars set. 2018-04-28 22:23:10 +04:00
Oleg Agafonov
c24ba742f6 Fixed equal or == errors -- 23 cards and more (see #4407) 2018-04-28 21:24:48 +04:00
LevelX2
b3d62865d9 * Fixed a problem of deck generator to use cards from sets not legal to the format (fixes #4642). 2018-04-28 01:13:58 +02:00
spjspj
96f8fb0cb7
Merge pull request #4877 from spjspj/master
Fix mana dialog box.
2018-04-27 23:55:40 +10:00
spjspj
843ecddfde Fix mana dialog box. 2018-04-27 23:35:56 +10:00
spjspj
66825b37df
Merge pull request #4865 from spjspj/master
Implement Brawl Free For All and Brawl Duel
2018-04-25 19:44:41 +10:00
spjspj
730d23164a Implement Brawl Free For All and Brawl Duel 2018-04-25 19:17:34 +10:00
LevelX2
e54980f6ae
Merge pull request #4850 from salco/feature/new_ui_selection_type
Feature/Add Set Selection filtering
2018-04-24 22:39:22 +02:00
spjspj
f1b79bb902
Merge pull request #4857 from spjspj/master
pennydreadful update
2018-04-24 23:05:19 +10:00
spjspj
5746a40ad2 pennydreadful update 2018-04-24 23:03:32 +10:00
spjspj
229cad7330
Merge pull request #4853 from spjspj/master
One more plane
2018-04-24 14:12:48 +10:00
spjspj
5e70e73acd One more plane 2018-04-24 09:21:32 +10:00
Salco
f680f336ae add file for checkboxlist 2018-04-23 11:24:07 -04:00
Salco
eb0f196a7e merge file from master 2018-04-23 11:04:17 -04:00
Salco
6e6d26eabb fix issu with multiple selection being added every time updated 2018-04-23 10:04:54 -04:00
Salco
435ce4dba7 add new function to spawn with combobox or checkboxlist 2018-04-23 10:03:56 -04:00
Salco
d782b69f0f rename my PickChoiceDialog to PickCheckBoxDialog and bring back the correct one 2018-04-23 09:58:28 -04:00
Oleg Agafonov
23becf1775 Texts update: to target creature or player => to any target 2018-04-22 08:15:40 +04:00
Evan Kranzler
7deb521a65 more mana pool errata 2018-04-21 18:36:22 -04:00
LevelX2
92793327f3 * returned UUID of used THOUGHT AS effect instead of boolean. 2018-04-21 22:32:45 +02:00
LevelX2
357d126596
Revert "Feature/Add Set Selection filtering" 2018-04-21 17:29:16 +02:00
LevelX2
054cf4763a
Merge pull request #4708 from salco/feature/new_ui_selection_type
Feature/Add Set Selection filtering
2018-04-21 17:12:09 +02:00
Salco
e53a9d5f39 move feature to the filter already implemented. 2018-04-20 08:27:22 -04:00
LevelX2
fc0068665f [DOM] Freed Dom download for Wizard source. 2018-04-19 19:59:47 +02:00
Evan Kranzler
50b5377a8e fixed mana pool errata 2018-04-15 14:30:01 -04:00
spjspj
a828050ae1 Continuing implementation of Planechase. 2018-04-14 23:09:37 +10:00
spjspj
611b48fd47 Continuing implementation of Planechase. 2018-04-14 10:47:49 +10:00
spjspj
d97a3ebf04 Continuing implementation of Planechase. 2018-04-13 01:20:10 +10:00
spjspj
3e092c2211 Continuing implementation of Planechase. 2018-04-12 21:03:53 +10:00
spjspj
87d19c7d51 Continuing implementation of Planechase. 2018-04-12 11:51:28 +10:00
spjspj
c8b741f0bf Continuing implementation of Planechase. 2018-04-12 00:07:24 +10:00
LevelX2
fdcd833791 Activated DOM image downloading. 2018-04-11 00:18:01 +02:00
spjspj
e932c139d9 Beginning of implementation of Planechase.
10 or so initial planes that (mostly) have been tested, no phenomenons as yet and no modifying yet of chaos rolls.  Also no support for a user to be able to set if it is planechase (able to do so via the cheat button).
2018-04-09 08:44:48 +10:00
LevelX2
ecbe7e68a6 * Fixed that second or higher level of attachments was not shown correctly on battlefield (fixes #892 fixes #4539 fixes #785 fixes #258). 2018-04-08 20:38:26 +02:00
Thomas Contis
6e7570d066 Fully fixed issue 4514. Use showCardsOrTokens() 2018-04-06 19:39:36 -04:00
Oleg Agafonov
dc1eaeb5bb Fixed viewer size update, code clean, fixed typo 2018-04-06 11:49:08 +04:00
Thomas Contis
95cbb3007e Removed db and log files 2018-04-05 20:35:03 -04:00
Thomas Contis
f9cc468595 Fixed issue #4514 2018-04-05 15:51:52 -04:00
Salco
e7b9d30f39 clean code and comment 2018-04-03 10:02:08 -04:00
Salco
8753cfeb67 clean code and comment a function in FastSearchUtil_1 2018-04-03 09:43:37 -04:00
Salco
cd3e58dbab new button to filter TAG 2018-04-03 09:36:01 -04:00
AdamJAKing
26c9c80d68 Card hint window now disappears for all cards 2018-04-02 21:49:18 +01:00
spjspj
7698856d29 Add an on-hover highlight effect. 2018-04-02 01:01:32 +10:00
spjspj
2ff3d2ca87 Add an on-hover highlight effect. 2018-04-01 21:40:16 +10:00
spjspj
b69f2c4fd8 Add 'Choose Matching' to deck editor 2018-03-31 17:55:55 +11:00
Oleg Agafonov
8563c6d865
Merge pull request #4682 from delftswa2018/hotfix/resolving-unaccepted-changes
Hotfix - resolving unaccepted changes
2018-03-29 17:25:04 +04:00
Oleg Agafonov
d7237c4afa
Merge pull request #4681 from delftswa2018/feature/ClickableMsgOfTheDay
Clickable message of the day
2018-03-29 17:24:50 +04:00
Oleg Agafonov
0939aefe51
Merge pull request #4680 from delftswa2018/feature/loadingtime
Improved XMage startup time
2018-03-29 17:23:38 +04:00
Marc Zwart
a7ffaafcb0 made close call safe 2018-03-29 13:53:59 +02:00
Danny Plenge
aa96caa554 Removed useless else case 2018-03-29 12:54:43 +02:00
spjspj
938ac35981 Have a faded life total over the avatar which glows then fades again reddish for damage and bluish for life gain. 2018-03-29 00:28:56 +11:00
Danny Plenge
98c2b171de Added the URLHandler which makes the URL's in the message of the day clickable.
At the moment when there are 2 URL's in 1 message, it only makes the last one clickable.
2018-03-28 13:49:04 +02:00
Christiaan
f956075341 Merge remote-tracking branch 'origin/master' into feature/loadingtime 2018-03-27 17:28:58 +02:00
Christiaan
e69423af27 performance improvements for startup
added option to skip generating small icons that already exist, load symbol images multithreaded
2018-03-27 17:26:19 +02:00
spjspj
08ffbecdb4 Have a faded life total over the avatar which glows then fades again reddish for damage and bluish for life gain. 2018-03-28 02:22:28 +11:00
spjspj
1340f75c1e
Merge pull request #4658 from spjspj/master
Karn, Scion of Urza (DOM)
2018-03-25 09:04:49 +11:00
spjspj
4527f791aa Karn, Scion of Urza (DOM) 2018-03-25 01:44:23 +11:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
Marc Zwart
c2c395420e close resource which did not happen certainly 2018-03-22 10:30:10 +01:00
Danny Plenge
90631eff60 Removed dangerous instance of double-checked locking in ThemePluginImpl 2018-03-20 16:10:09 +01:00
Marc Zwart
3e1312064f removed dangerous instance of double checked locking in settingsmanager 2018-03-20 16:04:10 +01:00
Marc Zwart
6debe066f1 remove dangerous instance of double-checked locking 2018-03-20 16:01:48 +01:00
Marc Zwart
d299ee0882 remove commented code 2018-03-20 15:37:46 +01:00
Marc Zwart
f883d6b0a8 ensure closing resources after finishing/canceling download of pictures 2018-03-20 15:37:25 +01:00
Marc Zwart
1e18875725 ensure closing of fileoutputstream in ScryfallSymbolsSource 2018-03-20 15:27:14 +01:00
Marc Zwart
1ec5a3fb4d ensure resource closing in deckimport from clipboard 2018-03-20 15:00:08 +01:00
Marc Zwart
338e9833cc ensure closing of datagram socket in arcane Util 2018-03-20 14:59:41 +01:00
Marc Zwart
63dbfb8a9b ensure proper closing of Stream in arcane UI 2018-03-20 14:48:22 +01:00
Marc Zwart
a0a2ac1b5a ensure closing of filewriter in manasymbols 2018-03-20 14:40:58 +01:00
Marc Zwart
4bc5a9bd61 Merge branches 'hotfix/close-unclosed-resources-mage-client', 'hotfix/close-streams-in-updater', 'hotfix/fix-non-closed-scanner' and 'hotfix/manapiechart-potential-zero-division' into feature/SonarqubeFixes 2018-03-20 13:03:28 +01:00
Marc Zwart
7233f5d86f added quiet closing to saveobjectutil 2018-03-20 12:55:37 +01:00
Marc Zwart
9912a23007 added quiet closing method in new streamutils class, used to clean up the connectdialog 2018-03-20 12:46:53 +01:00
spjspj
8ff4f81cea
Merge pull request #4640 from spjspj/master
New M15 Rendering for Unstable lands
2018-03-20 16:49:00 +11:00
spjspj
a368c93845 New M15 Rendering for Unstable lands 2018-03-20 16:12:43 +11:00
Oleg Agafonov
1635766262 * Added localized card images download for Russian, Korean and Portuguese from wizards.com; 2018-03-19 22:01:54 +04:00
Oleg Agafonov
4774c0290e * Deck editor: unique filter disabled by default now (#4612); 2018-03-19 18:06:11 +04:00
spjspj
da7bca48df
Merge pull request #4638 from spjspj/master
Fix for mana symbols indexoutofbounds exception
2018-03-19 21:18:20 +11:00
spjspj
de6eb6ece1 Fix for mana symbols indexoutofbounds exception 2018-03-19 21:16:32 +11:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
LevelX2
af296cbe79 * Added display of live on player avatar image, 2018-03-17 00:47:09 +01:00
LevelX2
9c0d0a0153 * Saved table spectator setting to preferences. 2018-03-17 00:46:12 +01:00
spjspj
cd21387659
Merge pull request #4624 from spjspj/master
Add rendering for Expeditions
2018-03-16 22:57:37 +11:00
spjspj
89d58bef5b Add rendering for Expeditions
(With non-copyright background image)
2018-03-16 22:49:21 +11:00
LevelX2
753e039d02 * Fixed a problem that a tooltip window was shown of cards from panels in the back. 2018-03-16 00:28:12 +01:00
LevelX2
64f9dc6e60 * Add Land Dialog - Added deck size value and images of mana symbols. 2018-03-15 23:37:05 +01:00
Marc Zwart
51b266a2de fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP 2018-03-15 10:47:31 +01:00
Oleg Agafonov
1b8049780b clean 2018-03-15 00:27:09 +04:00
Oleg Agafonov
83a3de9a93 * UI: improved choose number dialog (fixed enter key, added more info colorized info for mana distribute dialog); 2018-03-15 00:14:04 +04:00
Oleg Agafonov
4a77ab1714 * UI: added hotkeys to pick number dialog (choose value by <ENTER> key); 2018-03-14 18:46:28 +04:00
LevelX2
25f5be3aba * Fixed a problem with download of Unhinged card images with a card name. 2018-03-13 22:56:39 +01:00
LevelX2
bd56b074a0 * Some minor changes to game end window. 2018-03-13 18:01:26 +01:00
spjspj
a4485e92eb
Merge pull request #4611 from spjspj/master
Add an 'add only full art land' option to the add land dialog.
2018-03-13 01:04:16 +10:00
spjspj
7e919b9f39 Add an 'add only full art land' option to the add land dialog.
Should give an error message when someone says only full art lands, but then chooses a set that has no full art lands.
2018-03-13 00:38:43 +11:00
LevelX2
fe5743b29e Fixed a bug that the mana symbols for monocolored hybrid mana were not shown. 2018-03-11 13:03:58 +01:00
LevelX2
2fb8926432 * Deck editor - Saved the search checkbox options to reset for next deck editor start. 2018-03-11 11:47:33 +01:00
LevelX2
b60522f9e4 Added option to activate/deactivate JSON game log. Added logic to write the logs to subdirectory. Some changes to SEND_PLAYER_ACTION type logging. 2018-03-10 00:04:56 +01:00
LevelX2
51c68842aa Some minor changes to JSON game log (#4587). 2018-03-08 23:40:55 +01:00
LevelX2
82e8606b40 * Added Master 25 to Wizard download source. 2018-03-08 23:26:55 +01:00
LevelX2
fedf254219
Merge pull request #4554 from hooptie45/topic/json-logs
[WIP] Consumable JSON game logs
2018-03-08 17:32:32 +01:00
spjspj
79d4e7e9b1 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:45:09 +11:00
spjspj
4c7b0d50d2 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:31:51 +11:00
spjspj
be70ecd7f3 Add a singleton search option for deck editor search 2018-03-04 17:57:51 +11:00
spjspj
da76c7687d Missing deovid type background 2018-03-04 02:17:21 +11:00
spjspj
8cf065e345 For actual cards on modo, the full background is always printed to it (not just part of the top left corner of the background). 2018-03-03 23:51:47 +11:00
Oleg Agafonov
08f15416ba * Add new full set Masters 25 (only Karona's Zealot must be implemented); 2018-03-02 22:06:24 +04:00
spjspj
550b98509c
Merge pull request #4562 from spjspj/master
Fix zendikar full art land drawings.  (Travis build failed but didn't seem to be related to Mage.Client)
2018-03-02 17:33:11 +10:00
spjspj
60cc0525da Fix zendikar full art land drawings.
- Realized curve fits part of an off-centered ellipse
  (a 295x700 sized ellipse, with the top left being 197 pixels off the top of the top of the curved image on a scanned ZEN forest with bounding rects of: 293x337)
2018-03-02 18:22:09 +11:00
spjspj
d6910897e3
Merge pull request #4559 from spjspj/master
Zen lands slightly offcenter
2018-02-28 23:50:10 +10:00
spjspj
8c614a9006 slightly offcenter 2018-03-01 00:49:43 +11:00
spjspj
8887cca387 slightly offcenter 2018-03-01 00:32:30 +11:00
spjspj
6516e7eea4
Merge pull request #4556 from spjspj/master
Adding in way to render BFZ style full art lands (BFZ and HOU full ar…
2018-02-28 00:54:04 +10:00
spjspj
596ca5be86 Adding in way to render BFZ style full art lands (BFZ and HOU full art lands)
Things still to do:
1) Get everyone to download the full art Face images ...
2) Add in the collector number to the Face images (<ImageDirector>/FACE/ZEN/Island.<numberneeded>.jpg for example)
4) Maybe even add in an UST (Unstable) way of rendering lands (with the swoosh of opaque full art down the bottom).
2018-02-28 01:25:29 +11:00
spjspj
154c2121b1
Merge pull request #4555 from spjspj/master
Modifying zendikar curved box to use a path instead. (Will be easier …
2018-02-28 00:35:02 +11:00
spjspj
a28e273dcc Modifying zendikar curved box to use a path instead. (Will be easier to then draw BFZ lands similarly). 2018-02-28 00:02:14 +11:00
Shaun Hannah
7c7f88ab3c [WIP] S3 Upload of JSON log 2018-02-27 05:17:20 -05:00
Shaun Hannah
6aeb3c7c3a [WIP] Consumable JSON game logs
As discussed in https://github.com/magefree/mage/issues/4515

This exposes a JSON log of game interactions that can be analyzed.

This is just a first pass, to get up to speed with how the messaging works. It'd like to trim down the messages much
further so they don't include redundant information in each message. Also gson supports much more advances serialization
options; such as using the @Expose annotation. We should probably use that, but I ran into some issues (I'm not a java
developer, so still learning).

TODO:
  These currently only exist on the client side; ideally we'd submit this logs back up to a central server after the
  games completion; thinking this could be simple via an S3 file drop, and a Lambda function to process and expose the
  logs; maybe via a kafka stream.

Examples of log messages are below:

```
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "GAME_SELECT",
  "value": {
    "gameView": {
      "priorityTime": 3000,
      "players": [
        {
          "name": "computer",
          "life": 20,
          "counters": {}
        },
        {
          "name": "hooptie",
          "life": 20,
          "counters": {}
        }
      ],
      "hand": {
        "425d774f-ee0c-4a9b-8516-c98f886943f0": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
        },
        "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
          "name": "Blade of the Bloodchief",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
        },
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
          "name": "Ornithopter",
          "power": "0",
          "toughness": "2",
          "loyalty": "",
          "manaCost": [
            "{0}"
          ],
          "convertedManaCost": 0,
          "type": 0,
          "paid": false,
          "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
        },
        "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
        },
        "91239f4f-9003-4c48-8ca1-4c318f892489": {
          "name": "Cranial Plating",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
        },
        "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
          "name": "Arcbound Ravager",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
        }
      },
      "canPlayInHand": [
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      ],
      "stack": {},
      "combat": [],
      "phase": "PRECOMBAT_MAIN",
      "step": "PRECOMBAT_MAIN"
    },
    "message": "Play spells and abilities.",
    "options": {
      "queryType": "SELECT"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "SEND_PLAYER_UUID",
  "value": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "GAME_CHOOSE_PILE",
  "value": {
    "choices": {
      "1ecf8671-be4c-4060-a76b-af614235a5b7": "Cast Ornithopter"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-3v2cj2-je43178o-1-je43179f-4",
  "type": "GAME_INIT",
  "value": {
    "priorityTime": 3000,
    "players": [
      {
        "name": "computer",
        "life": 20,
        "counters": {}
      },
      {
        "name": "hooptie",
        "life": 20,
        "counters": {}
      }
    ],
    "hand": {
      "425d774f-ee0c-4a9b-8516-c98f886943f0": {
        "name": "Springleaf Drum",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
      },
      "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
        "name": "Blade of the Bloodchief",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
      },
      "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
        "name": "Ornithopter",
        "power": "0",
        "toughness": "2",
        "loyalty": "",
        "manaCost": [
          "{0}"
        ],
        "convertedManaCost": 0,
        "type": 0,
        "paid": false,
        "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      },
      "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
        "name": "Springleaf Drum",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{1}"
        ],
        "convertedManaCost": 1,
        "type": 0,
        "paid": false,
        "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
      },
      "91239f4f-9003-4c48-8ca1-4c318f892489": {
        "name": "Cranial Plating",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{2}"
        ],
        "convertedManaCost": 2,
        "type": 0,
        "paid": false,
        "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
      },
      "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
        "name": "Arcbound Ravager",
        "power": "0",
        "toughness": "0",
        "loyalty": "",
        "manaCost": [
          "{2}"
        ],
        "convertedManaCost": 2,
        "type": 0,
        "paid": false,
        "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
      }
    },
    "canPlayInHand": [
      "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
    ],
    "stack": {},
    "combat": [],
    "phase": "PRECOMBAT_MAIN",
    "step": "PRECOMBAT_MAIN"
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-3v2cj2-je43178o-1-je43179f-4",
  "type": "GAME_SELECT",
  "value": {
    "gameView": {
      "priorityTime": 3000,
      "players": [
        {
          "name": "computer",
          "life": 20,
          "counters": {}
        },
        {
          "name": "hooptie",
          "life": 20,
          "counters": {}
        }
      ],
      "hand": {
        "425d774f-ee0c-4a9b-8516-c98f886943f0": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "425d774f-ee0c-4a9b-8516-c98f886943f0"
        },
        "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff": {
          "name": "Blade of the Bloodchief",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "dd41bb4b-7fc3-4a3c-a69c-d18e281a1bff"
        },
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806": {
          "name": "Ornithopter",
          "power": "0",
          "toughness": "2",
          "loyalty": "",
          "manaCost": [
            "{0}"
          ],
          "convertedManaCost": 0,
          "type": 0,
          "paid": false,
          "id": "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
        },
        "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64": {
          "name": "Springleaf Drum",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{1}"
          ],
          "convertedManaCost": 1,
          "type": 0,
          "paid": false,
          "id": "a2f9cc13-e71a-4c9c-96aa-5424ea1a6b64"
        },
        "91239f4f-9003-4c48-8ca1-4c318f892489": {
          "name": "Cranial Plating",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "91239f4f-9003-4c48-8ca1-4c318f892489"
        },
        "feb268d8-0535-4a9c-8915-83dd92a08c4c": {
          "name": "Arcbound Ravager",
          "power": "0",
          "toughness": "0",
          "loyalty": "",
          "manaCost": [
            "{2}"
          ],
          "convertedManaCost": 2,
          "type": 0,
          "paid": false,
          "id": "feb268d8-0535-4a9c-8915-83dd92a08c4c"
        }
      },
      "canPlayInHand": [
        "06eb0a6c-1e70-4dc0-bd1c-93b6ea444806"
      ],
      "stack": {},
      "combat": [],
      "phase": "PRECOMBAT_MAIN",
      "step": "PRECOMBAT_MAIN"
    },
    "message": "Play spells and abilities.",
    "options": {
      "queryType": "SELECT"
    }
  }
}
{
  "gameId": "2cede8c5-ff8e-4f8c-b9ac-66af53c0a254",
  "sessionId": "5c4o149-678483-je42ycva-1-je42ycw2-4",
  "type": "SEND_PLAYER_UUID",
  "value": "1ecf8671-be4c-4060-a76b-af614235a5b7"
}
```
2018-02-26 19:23:00 -05:00
spjspj
871b035bb4
Merge pull request #4551 from spjspj/master
Adding in way to render Zendikar full art lands.
2018-02-26 15:31:10 +11:00
spjspj
afeb1c16ac Adding in way to render Zendikar full art lands.
Things still to do:
1) Get everyone to download the full art Face images
2) Add in the collector number to the Face images (<ImageDirector>/FACE/ZEN/Island.<numberneeded>.jpg for example)
3) Add in the ability to draw say BFZ / HOU full art lands as well.
4) Maybe even add in an UST (Unstable) way of rendering lands (with the swoosh of opaque full art down the bottom).
2018-02-26 15:22:59 +11:00