Commit graph

957 commits

Author SHA1 Message Date
Ingmar Goudt
056226d83c Sonar fixes 19022019 2019-02-19 21:51:45 +01:00
Oleg Agafonov
f778d95f54 Prepare next release 2019-02-09 17:42:46 +04:00
Oleg Agafonov
942882bb90 Prepare new release 2019-02-01 20:57:11 +04:00
Oleg Agafonov
0c8fdfcaf2 UI: added draft rating info in card viewer 2019-02-01 18:32:22 +04:00
Oleg Agafonov
cfff0f8116 * UI: added game name and seats number columns to tables list; 2019-01-22 18:32:27 +04:00
Oleg Agafonov
f223bdab31 Added new client-server incompatible checks:
* added strict mode (client and server versions must be same, see MAGE_VERSION_MINOR_PATCH_MUST_BE_SAME);
 * you must enable string mode after github code changes in serializeable classes (see #4459);
 * added client-side version checks;
 * added error message on wrong version disconnects.
2019-01-18 13:32:37 +04:00
Oleg Agafonov
14f66029f8 Missing v33 commit 2019-01-16 20:59:45 +04:00
Oleg Agafonov
b313ab3b7c Fixed missing watchers on game start, added error on missing watcher; 2019-01-08 13:50:19 +04:00
Oleg Agafonov
f01b3d3ca3 Improved new version cleanup and more:
* fixed db cleanup on new version (sets + cards);
 * fixed empty sets list after update;
 * fixed NPE errors in sets list on new install/version;
 * added joke sets filter to deckeditor.
2019-01-06 15:41:30 +04:00
Oleg Agafonov
2e3fabb161 Fixed NPE error in lobby 2018-12-22 20:41:42 +04:00
Oleg Agafonov
20a3b0b777 Added cards database cleanup on new builds/releases run (client/server sides); 2018-12-21 23:11:43 +04:00
John Hitchings
7e621ee8af Make draft logs compatible with MTGO format #5450 - https://github.com/magefree/mage/issues/5450 2018-12-19 19:41:44 -08:00
Oleg Agafonov
0a2f312da7 Added build time to version info, cleanup manifest files; 2018-12-15 18:29:10 +04:00
LevelX2
e6ce58d6bf XMage 1.4.32V0 2018-11-26 19:30:22 +01:00
LevelX2
e7d129a074
Merge branch 'master' into add-minimum-rating-option 2018-11-26 17:18:35 +01:00
Oleg Agafonov
0df97e5d4b * Server: fixed error on missing xmage.properties file settings on feedback receive; 2018-10-12 22:17:24 +04:00
LevelX2
29f6f1c4b8 XMage 1.4.31V4 2018-09-30 23:15:58 +02:00
Aaron Miller
5cd57199c7 Merge branch 'master' into add-minimum-rating-option 2018-09-29 19:15:46 -07:00
Aaron Miller
81c2a62250 Add "minimum rating" option to matches and tournaments 2018-09-29 19:14:39 -07:00
Ingmar Goudt
48a1386b8f make nested class static 2018-09-28 15:44:17 +02:00
Ingmar Goudt
22c072ad93 make inputstream auto-closeable 2018-09-28 15:29:41 +02:00
LevelX2
6e26719367 XMage 1.4.31V3 2018-09-23 19:43:26 +02:00
LevelX2
0be9867257 XMage 1.4.31V2 2018-09-22 22:55:10 +02:00
Ingmar Goudt
f04d7c9b03 remove redundant null checks before instanceof 2018-09-17 21:09:42 +02:00
Oleg Agafonov
38a45c2e8e Refactor: removed outdated code for non implemented cards 2018-09-09 16:06:40 +04:00
LevelX2
5703a49c81 XMage 1.4.31V1 2018-08-25 14:37:08 +02:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
LevelX2
2429425fd2 Merge origin/master
Conflicts:
	Mage.Sets/src/mage/cards/s/SalvageTrader.java
	Mage.Sets/src/mage/cards/t/ThermalDetonator.java
2018-08-15 10:51:21 +02:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
LevelX2
ca21f32009 Xmage 1.4.30V6 2018-06-24 21:26:52 +02:00
LevelX2
e04c132dfe Xmage 1.4.30V5 2018-06-21 23:13:17 +02:00
LevelX2
174e3794fb XMage 1.3.30V4 2018-06-10 08:00:17 +02:00
LevelX2
80a6057980 XMage 1.4.30V3 2018-06-06 23:49:27 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
e4a9604086 XMage 1.4.30V2 2018-05-31 14:16:23 +02:00
LevelX2
1f522f874a xmage 1.4.30V1 2018-05-27 23:55:25 +02:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
LevelX2
cfe712efc6 XMage 1.4.29V5 2018-05-27 01:00:55 +02:00
LevelX2
e767c79429 XMage 1.4.29V4 2018-05-01 01:20:52 +02:00
LevelX2
329116669a * Fixed a problem with stack abilities created by Designations eg. Monarch triggered ability (fixes #4457). 2018-04-26 23:35:26 +02:00
LevelX2
758634f5bb XMage 1.4.29V3 2018-04-24 23:43:24 +02:00
LevelX2
52ae0a9be6 XMage 1.4.29V2 2018-04-21 23:04:50 +02:00
LevelX2
4280d92a37 Xmage 1.4.29V1 2018-04-20 00:09:32 +02:00
LevelX2
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02:00
spjspj
d97a3ebf04 Continuing implementation of Planechase. 2018-04-13 01:20:10 +10:00
spjspj
c8b741f0bf Continuing implementation of Planechase. 2018-04-12 00:07:24 +10: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
Marc Zwart
1053db617b fixed missing linebreaks 2018-04-03 14:31:59 +02:00
Marc Zwart
3e32287f00 fixed Token/TokenImpl imports and references 2018-04-03 14:05:41 +02:00
Marc Zwart
532a190587 closed resources in savegame method of gamecontroller 2018-03-20 13:52:23 +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
9912a23007 added quiet closing method in new streamutils class, used to clean up the connectdialog 2018-03-20 12:46:53 +01: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
b046428f8c XMage 1.4.28V1 2018-03-17 23:59:34 +01:00
LevelX2
5925bdf259 * Fixed a problem that Spell objects were not handled always correctly in game view. 2018-03-16 18:25:28 +01:00
LevelX2
bd56b074a0 * Some minor changes to game end window. 2018-03-13 18:01:26 +01:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +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
fedf254219
Merge pull request #4554 from hooptie45/topic/json-logs
[WIP] Consumable JSON game logs
2018-03-08 17:32:32 +01:00
spjspj
4c7b0d50d2 Add a 'spectators allowed' option for regular tables (aka non tournaments). 2018-03-08 23:31:51 +11:00
Shaun Hannah
4b331355de [WIP] SPIKE - gson @Expose 2018-02-26 19:24:00 -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
Plopman
bf3682fa77 Move confirmation OptionPane from SessionImpl to ConsolePanel 2018-02-22 00:09:51 +01:00
LevelX2
1ef84278c2
Merge pull request #4419 from rsypen/master
Fixed local server time in client's chat messages
2018-02-15 15:16:52 +01:00
L_J
3dbd5a72c4
Merge branch 'master' into Zzooouhh-banding-final 2018-02-15 00:49:08 +01:00
LevelX2
1d09168857 Xmage 1.4.27V4 2018-02-14 23:05:43 +01:00
L_J
f0ab1575f9
Banding arrow fix 2018-02-14 15:27:01 +00:00
LevelX2
3b19304f64 * Fixed that soulbond arrow to paired card was not shown and improved soulbond text on permanent. 2018-02-14 12:41:44 +01:00
L_J
e7301e2c08
Implemented banding (#41) 2018-02-13 20:36:25 +01:00
LevelX2
c13b16fa84 Xmage 1.4.27V3 2018-02-06 23:49:41 +01:00
LevelX2
7afc157ba0 xmage 1.4.27V2 2018-01-31 00:08:05 +01:00
LevelX2
62a40ab459 Xmage 1.7.27V1 2018-01-28 01:15:19 +01:00
rsypen
ccd121277a
Fixed local server time in client's chat messages 2018-01-15 09:17:35 +01:00
LevelX2
40afa04b24 xmage 1.4.27V0 2018-01-13 22:54:53 +01:00
LevelX2
2e3ba7e104 Added designation names to player tooltip. 2018-01-13 18:55:07 +01:00
LevelX2
4c9ed95662 Xmage 1.4.26V11d 2018-01-11 07:14:49 +01:00
LevelX2
fef0ef83ec xmage 1.4.26V11c 2018-01-08 22:59:35 +01:00
LevelX2
f814875410 Xmage 1.4.26V11b 2018-01-07 22:56:48 +01:00
LevelX2
46bcad2ada Mage 1.4.26V11 2018-01-07 18:04:59 +01:00
LevelX2
330c6f1393 XMage 1.4.26V10 2017-12-30 20:17:04 +01:00
Oleg Agafonov
f39e4fd4ee - added card download for unstable set from scryfall;
- changed client version from 9 to 10b;
2017-12-10 17:43:37 +04:00
LevelX2
8fac7a3dc1 XMage 1.4.26V9 2017-12-03 18:15:16 +01:00
Oleg Agafonov
77d31b37f0 Fix wrong images path in zips (compatible with old versions). 2017-11-30 01:56:41 +04:00
Oleg Agafonov
c29bac08d8 Refactor and fixed and images downloading and paths loading:
- Added new images and symbols downloading;
 - Fixed user defined images path (now work for all images: cards, symbols, temp downloading);
 - Fixed not working cancel button at download window (it close window, but tasks is working, download and didn't save);
 - Fixed temp files trash all around images folder (on cancel button);
 - Fixed not saving new downloaded cards on cancel button (zip file didn't close on cancel);
2017-11-27 08:09:52 +04:00
Oleg Agafonov
f81489c377 Add fallback card render (origin card render), see #4168 2017-11-18 05:13:38 +04:00
LevelX2
f5f6f924f9 XMage 1.4.26V8 2017-11-04 18:50:00 +01:00
LevelX2
71336a916d XMage 1.4.26V7 2017-10-03 18:41:06 +02:00
LevelX2
d866234e89 Xmage 1.4.25V6 2017-09-23 23:49:00 +02:00
LevelX2
1d5105c0bd Xmage 1.4.26V5 2017-09-17 23:11:38 +02:00
LevelX2
2d6bcd83f4 xmage 1.4.26V4 2017-09-16 16:55:58 +02:00
Evan Kranzler
252c941b4f Refactored more subtypes usages to enum 2017-09-08 09:57:51 -04:00
LevelX2
20a3f6a2c6 xmage 1.4.26V3 2017-09-03 08:21:48 +02:00
LevelX2
84fe04b92d Replaced exception handling of invalid deck submitting by a user message. 2017-09-01 20:05:26 +02:00
LevelX2
a46538fc06 Removed some unused code. 2017-09-01 16:03:43 +02:00
LevelX2
d024d59626 * Some changes to chat and user handling. 2017-08-27 00:31:52 +02:00
LevelX2
4aca2506d8 * Added table info about range set in a multiplayer game (fixes #3878). 2017-08-24 18:57:23 +02:00
LevelX2
c2d70fa1cc Xmage 1.4.25V1 2017-08-18 00:12:57 +02:00
LevelX2
8ab9abb8e8 * Some more changes to user disconnect handling. 2017-08-16 07:51:48 +02:00
LevelX2
1fb24116ae xmage 1.4.26V0 2017-08-15 01:27:06 +02:00
LevelX2
bae7f154df Changed user disconnect handling. The user in the server is no longer deleted directly after connection problem, disconnect or quit. The user object remains now for 8 minutes so the rejoin not possible after disconnect problem should be solved (I hope so). We will see. Also fixed the problem, that the table panel was not shown, if a player disconected and reconected. 2017-08-13 16:22:18 +02:00
LevelX2
fe2ee5dfec Xmage 1.4.25V0 2017-07-29 20:35:16 +02:00
LevelX2
c6cd713f0d * Mind's Desire - Fixed a problem with playing lands. 2017-07-22 12:09:28 +02:00
igoudt
ea14f9c361 fix order of subtypes on a cardview 2017-07-17 10:08:20 +02:00
ingmargoudt
09f0c9ad97 huge rework on subtypes (#3668)
* huge rework on subtypes

* update for coat of arms

* fix test
2017-07-16 16:57:39 -05:00
LevelX2
5774deb90c XMAGE 1.4.24V3 2017-07-16 19:46:41 +02:00
LevelX2
75aff217da Xmage 1.4.24V2 2017-07-09 21:09:42 +02:00
LevelX2
8e666c9403 Xmage 1.4.24.V1 2017-07-09 01:29:26 +02:00
LevelX2
d1f61f48f1 XMage 1.4.24V0 2017-07-08 15:54:06 +02:00
LevelX2
d03bd3bf57 Fixed a bug that the owner of controlled cards were no longer shown in the card tooltip. 2017-06-11 09:52:29 +02:00
Anders Åstrand
ad0507e739 Ban ignored users from watching
This commit bans ignored users from watching
games where the creator has them on their ignore list.
2017-05-29 21:36:42 +02:00
LevelX2
0b7a50e48f * Xmage 1.4.23V6 2017-05-21 01:01:50 +02:00
LevelX2
11ba007fd3 Xmage 1.4.23V5 2017-05-18 21:55:44 +02:00
magenoxx
d73709bdbe Moved CardView to src/main/java 2017-05-13 18:55:54 +03:00
spjspj
e73e7d8600 Token refactor 2017-05-06 23:35:14 +10:00
LevelX2
97a4e9ed05 Xmage 1.4.23V4 2017-04-30 00:23:33 +02:00
LevelX2
3cc157bc2c * Fixed null pointer exception problems in client. 2017-04-30 00:07:37 +02:00
igoudt
b6fe6f772a finish rewriting watchers 2017-04-29 12:07:46 +02:00
spjspj
241691b153 spjspj - Add in Tokens to the Card Viewer (first version) 2017-04-29 17:25:54 +10:00
igoudt
9ca9975cb0 remove sun reference 2017-04-29 08:39:26 +02:00
igoudt
5b21f34941 rewrote gettypetext, added removeIf to TableModel 2017-04-27 10:57:48 +02:00
igoudt
27aea04820 move methods from cardutil to magepermanent, cardview:getColorText now uses ObjectColor.getDescription 2017-04-27 10:57:48 +02:00
LevelX2
85e44017ea Xmage 1.4.23V3 2017-04-25 22:17:22 +02:00
spjspj
6ab4a94bd7 spjspj - Add in 'View Current Deck' option. 2017-04-23 13:06:09 +10:00
LevelX2
900e7b29ba XMage 1.4.23V2 2017-04-23 01:57:26 +02:00
spjspj
8845d77628 spjspj - Remove View Limited Deck option 2017-04-22 19:35:08 +10:00
spjspj
0cd4e06e22 spjspj - Add a View Limited Deck option to allow you to see your deck during matches. 2017-04-22 19:16:12 +10:00
magenoxx
ee7026f71d Revert "Added hashCode and equal to main server objects"
This reverts commit 27a454f042.
2017-04-21 20:43:32 +03:00
magenoxx
27a454f042 Added hashCode and equal to main server objects 2017-04-20 20:06:52 +03:00
magenoxx
21eb420c16 Moved Mage.Common classes from src to src/main/java 2017-04-20 19:05:09 +03:00
LevelX2
d55c82adf4 XMage 1.4.23V1 2017-04-18 07:50:49 +02:00
LevelX2
ef4cf90a0f Release 1.4.23V0 2017-04-17 10:53:59 +02:00
LevelX2
35791ac6b7 Set SocketWriteTimeout to 10 seconds. 2017-04-17 00:01:39 +02:00
LevelX2
ed341528d9 [AKH] Fixed that Aftermath card images were shown wrongly rotated. 2017-04-16 22:57:08 +02:00
spjspj
7937bcda9e Revert 2017-04-16 20:06:27 +10:00
ingmargoudt
1649530e7b remove helper functions from cardUtil 2017-04-07 16:40:38 +02:00
ingmargoudt
f519b12d0e introduced isCreature/isLand/isArtifact/... etc for CardView 2017-04-07 15:08:28 +02:00
ingmargoudt
08197f192c remove CardHelper class 2017-04-07 10:00:16 +02:00
ingmargoudt
d60e01d497 move CardHelper::getColor to CardView::getColorText 2017-04-06 22:11:57 +02:00
ingmargoudt
63df7f65a7 remove isCreature from CardHelper, move to Cardview 2017-04-06 22:07:59 +02:00
Mark Langen
047449f14e * Correct type line rendering for split cards with different types on each half.
* Correct art rendering for Aftermath, Split, and Fuse cards on the stack. Fused cards show as a single card with all the abilities / characteristics of both halves while on the stack.
2017-04-04 21:58:52 -06:00
ingmargoudt
ff6d1541c3 clientcallbacks to enums 2017-04-04 21:52:15 +02:00
ingmargoudt
211d433ea9 playertype, enum singleton 2017-04-02 22:09:20 +02:00
ingmargoudt
6f8f10fcc3 move static function to CardImpl, and other api fixes 2017-03-30 20:09:47 +02:00
fireshoes
55b433ae36 [AKH] Added 3/27 spoilers to mtg-cards-data.txt. Implemented several of the new cards. 2017-03-28 22:25:29 -05:00
Achilles
b4a60555fc Revert "Change for id str"
This reverts commit 1e8216c5c5.
2017-03-24 17:06:33 -05:00
spjspj
1e8216c5c5 Change for id str 2017-03-24 08:14:17 +11:00
ingmargoudt
ff6c6405aa rewrites to optionals 2017-03-19 19:48:32 +01:00
LevelX2
9d8a8a33f1 Xmage 1.4.22V0 2017-03-11 13:38:55 +01:00
ingmargoudt
4aaf73e0d2 changed the type used in ImagePanel from an int to an enum 2017-03-07 22:28:10 +01:00
ingmargoudt
0a77c186be moved sessionstate enum to sessionImpl 2017-03-07 22:15:58 +01:00
ingmargoudt
1bc8e2248b changed enum equals to ==, removed contains check for set 2017-03-07 21:47:11 +01:00
ingmargoudt
1caf3a6be4 change getLibrary().size() > 0 to hasCards() 2017-03-07 17:28:26 +01:00
ingmargoudt
a0930e3379 missed 2 hashsets to enumsets 2017-03-03 22:14:00 +01:00
ingmargoudt
372584f7ad changed cardtype from list to enumset 2017-03-03 17:04:32 +01:00
vraskulin
11dc1e10f1 Few lambda's and removed explicit type from creating lists and hashmaps 2017-02-28 13:46:57 +03:00
vraskulin
498c8cf60c Made utility classes final to explicitly forbid it's inheritance 2017-02-27 17:03:38 +03:00
Anders Åstrand
f68460603a Add client-side user ignore list
This commit adds a client-side per-server ignore list.
* Whispers and talk from an ignored user is hidden
* Ignored users cannot join your tables
* Ignored users tables are hidden
2017-02-22 22:16:09 +01:00
ingmargoudt
3a152ab3d6 rewrote enum comparisons, iterator to removeIf, added some stream and filters 2017-02-11 22:37:00 +01:00
vraskulin
0557b5e89c list.size > 0 changed to !list.isEmpty
We care about if it's empty or not, not about it's size
2017-02-06 14:32:51 +03:00
vraskulin
f60ebfbb1f All 1-character strings converted to primitives
"b" + "r" now changed to 'b' + 'w'.  It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.
2017-02-06 14:32:51 +03:00
LevelX2
d71ebdcea9 Merge origin/master 2017-02-05 11:41:20 +01:00
LevelX2
3525e46514 XMage 1.4.21V2 2017-02-05 11:39:43 +01:00
spjspj
fa97e4647e Add field for server console 2017-02-05 14:11:05 +11:00
LevelX2
082210a4bd Xmage 1.4.21V1 2017-01-25 00:14:05 +01:00
LevelX2
6625bf86be Xmage 1.4.21V0 2017-01-15 17:44:02 +01:00
LevelX2
c6c88ee197 * Chnaged some handling of transformable cards. 2017-01-15 16:21:06 +01:00
spjspj
b397e2849c Add missing field to userData 2017-01-15 23:33:20 +11:00
spjspj
f943b81c73 Merge pull request #2794 from spjspj/master
spjspj - Add Set Active to server console
2017-01-14 16:04:33 +11:00
spjspj
6ed569b37f spjspj - Add Set Active to server console 2017-01-14 16:03:30 +11:00
spjspj
ee285e36f6 Merge pull request #2793 from spjspj/master
spjspj - Add Set Active to server console
2017-01-14 15:30:02 +11:00
spjspj
6d3324378f spjspj - Add Set Active to server console 2017-01-14 15:29:15 +11:00
igoudt
ac8962cb29 replaced enum comparison from equals to == 2017-01-11 09:53:16 +01:00
vraskulin
076840df53 Big refactoring
I used Intellij IDEA to automatically refactor code to achive 3 goals.
1) get rid of anonymouse classes, and replace the with lamba to get more readeable and clean code (like in TableWaitingDialog).
2) make effectively final  variables actually final to avoid inadvertent changes on it in further releases and keep objects as immutable, as possible.
3)  Get rid of unused imports (most of the changes) in whole project classes.
2017-01-09 19:16:53 +03:00
LevelX2
ee203cf981 Xmage Release 1.4.20V0 2017-01-08 01:36:05 +01:00
LevelX2
9353c5aa9c [AER] Some more minor fixes. 2017-01-07 22:22:17 +01:00
LevelX2
8075ea2e50 * Fixed a problem that Emblems created by permanents where its owner left the game caused errors in clients. Some handling cganges of emblems. 2016-12-27 16:00:22 +01:00
LevelX2
862ac38f51 * Fixed that special actions (e.g. delve mana payment) were handled correctly if a player plays a turn for another player. 2016-12-24 16:52:06 +01:00
LevelX2
da9e9a1180 * Fixed some possible null pointer exceptions and some minor editing. 2016-12-18 15:02:19 +01:00
LevelX2
40d8a32695 XMage 1.4.19V1 2016-12-17 10:35:45 +01:00
LevelX2
3d95849c10 Some fixes to the Monarch designation. 2016-12-07 17:14:08 +01:00
LevelX2
b62ca1ed1f Xmage 1.4.19 2016-11-27 19:59:42 +01:00
LevelX2
68d0e6b9fa Added the monarch concept to xmage and all related cards. 2016-11-27 01:14:32 +01:00
LevelX2
c9e1b415e2 Xmage 1.4.18V0 2016-11-06 18:11:19 +01:00
LevelX2
1791b809db Added some more info to some logger and game messages. Removed unused method. 2016-11-01 23:02:11 +01:00
LevelX2
0f6c14bdb7 Fixed that a client reconnect tries to reconnect to the server the client was connected to and not the last server a client on this system has connected to. 2016-11-01 22:59:24 +01:00
LevelX2
070a0ca3fa * Fixed a problem that the enlarged card view could stay open after a game or draft were finished. 2016-10-23 23:13:02 +02:00
LevelX2
8b62eece68 XMage 1.4.17V0 2016-10-23 10:03:01 +02:00
spjspj
d53fe3ae52 Add confirmation dialog to server.console 2016-10-23 01:44:34 +11:00
LevelX2
bf43ea9936 Added test and fixed some possible null pointer exception. 2016-10-22 12:45:50 +02:00
fireshoes
89dd981075 Merge 2016-10-17 23:45:47 -05:00
LevelX2
2e1f8c07cb Xmage 1.4.16v3 2016-10-09 15:54:12 +02:00
LevelX2
f92e827d3b Xmage 1.4.16v2 2016-10-09 00:13:01 +02:00
LevelX2
4ec7d626fa * Fix to get land images shown again. 2016-10-08 19:03:32 +02:00
LevelX2
5d8ae4d411 * Workaround to fix problem with deck layout. 2016-10-08 19:03:09 +02:00
LevelX2
157827addc XMage 1.4.16v0 2016-10-08 11:14:13 +02:00
LevelX2
c46f75ac28 Added chat mute and user (de)activation actions to the Mage server console. 2016-10-05 00:59:51 +02:00
LevelX2
db31264538 Some changes to the server console. 2016-10-04 17:40:37 +02:00
LevelX2
e8ab8558d1 Fixed some possible null pointer exceptions. 2016-10-03 22:07:10 +02:00