Commit graph

889 commits

Author SHA1 Message Date
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
fcc6174e5e Some null exceptions checking and fixed some other minor problems. 2018-05-26 01:22:28 +02:00
Oleg Agafonov
1a4e892f04 Cheat engine:
+ added commands to show my hand and library (@show my hand, @show my library);
  + added params to show color identity ("color commander") and card's color ("color cost");
2018-05-06 01:05:04 +04:00
spjspj
5746a40ad2 pennydreadful update 2018-04-24 23:03:32 +10:00
spjspj
b45a409939 Continuing implementation of Planechase. 2018-04-15 19:40:15 +10:00
spjspj
a828050ae1 Continuing implementation of Planechase. 2018-04-14 23:09:37 +10:00
spjspj
c8b741f0bf Continuing implementation of Planechase. 2018-04-12 00:07:24 +10:00
spjspj
471d49892f Attempt to allow players to fix the game if the active/choosing/person with priority has left or has run down the clock 2018-04-02 19:31:05 +10:00
Marc Zwart
fed2f31789 set lock calls back to original place as per request 2018-03-29 13:56:10 +02:00
Oleg Agafonov
645fbf6da1 * Cheat engine: added optional set code in card's command (example: battlefield:Human:Island:HOU:1); 2018-03-24 18:44:02 +04:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
spjspj
4382a4f247
Merge pull request #4649 from spjspj/master
Song of Blood (VIS)
2018-03-23 00:26:29 +11: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
spjspj
6e15835232 New M15 Rendering for Unstable lands
(Way to default to 'UST' for the cheat button.
2018-03-20 16:15:08 +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
spjspj
f1967de231 This allows hidden information out from the game state. 2018-03-14 01:41:46 +11:00
LevelX2
7e5f4f580d * Fixed wrong user active check for table health. 2018-02-25 12:33:57 +01:00
LevelX2
89b6aeacd6 * Added a test related to #4539. 2018-02-20 16:16:26 +01:00
spjspj
bb512faa98 Add option to get debug information from game state in chat 2018-02-19 12:12:18 +11: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
LevelX2
ac81c5bbd4 Changed callbackException handling. 2018-02-03 10:49:57 +01:00
LevelX2
7afc157ba0 xmage 1.4.27V2 2018-01-31 00:08:05 +01:00
LevelX2
5d7532dff2 Reverted changes on Session locking. 2018-01-28 23:25:16 +01:00
LevelX2
7f17011bf0 Added logic to suppress failing callbacks to users that lost connection. 2018-01-28 18:05:43 +01:00
LevelX2
34a884546a Readded message if user lost connection. 2018-01-28 18:03:37 +01:00
LevelX2
2f016c8ea6 Fixed some more exception and/or logging problems. 2018-01-27 13:19:20 +01:00
LevelX2
6b90c1fd7f Fixed some exception problems. 2018-01-27 11:42:43 +01:00
Oleg Agafonov
74f988ce1d Cheats: added 2 new special commands, see #4334:
* show opponent hand
  * show opponent library
  * added params to special commands to show more or less info:
    - pt;
    - color;
    - abilities count;
    - abilities list.
2018-01-26 06:42:23 +04:00
rsypen
ccd121277a
Fixed local server time in client's chat messages 2018-01-15 09:17:35 +01:00
Oleg Agafonov
eae85e71bc UI: added new cheat engine for manual testing (see #4334) 2018-01-04 01:35:33 +04:00
LevelX2
bda8736b9e Some minot fixes /changes. 2017-10-03 17:06:46 +02:00
LevelX2
8221a68efe Minor fix for user handling. 2017-09-05 17:53:03 +02:00
LevelX2
d5284ae226 Fixed that some user data was not cleared as a user was disconnected. 2017-09-05 16:58:06 +02:00
LevelX2
cd9827300d Some minor changes. 2017-09-05 12:00:42 +02:00
LevelX2
abb2efa25c Removed unused code. 2017-09-04 09:54:00 +02:00
LevelX2
720351c065 Some minor user handling changes. 2017-09-02 00:46:24 +02:00
LevelX2
4c5e5d1367 GamManager added lock handling. 2017-09-01 23:22:39 +02:00
LevelX2
7019db9479 TableManager added lock handling. 2017-09-01 21:14:45 +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
52897094b3 * Some chnages to chat, user and player handling. 2017-08-26 18:26:55 +02:00
spjspj
95933c2edd Merge pull request #3861 from spjspj/master
Update penny dreadful list (http://pdmtgo.com/legal_cards.txt)
2017-08-20 22:04:33 +10:00
spjspj
4687943176 Update penny dreadful list (http://pdmtgo.com/legal_cards.txt) 2017-08-20 22:01:19 +10:00
LevelX2
d7ee6db923 Fixed condition for deck manipulation report. 2017-08-19 07:47:13 +02:00
LevelX2
fea9dfe8f8 Some more changes to the user handling. 2017-08-18 00:12:38 +02:00
LevelX2
351feb5a99 * Fixed that at match start if a player chooses who starts, the idle check was not started. 2017-08-17 00:36:59 +02:00
LevelX2
8ab9abb8e8 * Some more changes to user disconnect handling. 2017-08-16 07:51:48 +02:00
LevelX2
6244046330 * Some minor changes. 2017-08-14 16:48:48 +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
spjspj
6435b9950a Add in Penny Dreadful EDH format (plus filter options for deck editor). 2017-08-04 17:13:25 +10:00
LevelX2
0ef94a588c * Fixed some null pointer or other exception bugs. 2017-07-29 19:13:42 +02:00
LevelX2
fbd90bb3e0 * Some minor reworks to prevent exceptions. 2017-07-23 23:16:27 +02:00
LevelX2
ee59ec80e2 * Fixed a problem that the table health check removed tables that were just created by adding 30 seconds check stop after table start to prevent checking while server still is initializing the table start. 2017-07-23 20:28:18 +02:00
LevelX2
4c33359fe2 * Some minor changes to logging and return code handling. 2017-07-23 11:06:23 +02:00
igoudt
905829561e talk to interfaces rather than implementations 2017-07-16 11:08:09 +02:00
igoudt
a167122459 loop to streams 2017-07-08 10:58:47 +02:00
LevelX2
0fd72c3010 * Added check if the deck was modified during sideboarding. 2017-06-05 20:23:09 +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
spjspj
b467ff2080 Add emblems into the int.txt file 'emblem:Human:ElspethSunsChampionEmblem:1' for example 2017-05-21 12:42:50 +10:00
LevelX2
a068de8d18 * Rooftop Storm - Fixed wrong alternate cost handling (fixes #3387). 2017-05-17 15:06:52 +02:00
magenoxx
2a366c4022 #3323: New perspectives, fixed deadlock freeze 2017-05-13 18:57:33 +03:00
LevelX2
60cc3a7622 * Some minor fixed and log changes. 2017-04-25 17:37:38 +02:00
spjspj
be92bf9e41 Merge pull request #3231 from spjspj/master
Add in /card command for chat to get back card's: cost, type, text.
2017-04-25 10:20:09 +10:00
spjspj
1d46fec3ff Add in /card command for chat to get back card's: cost, type, text. 2017-04-25 10:18:00 +10:00
LevelX2
c085ea148a * Changed some logging messages. 2017-04-23 14:11:02 +02:00
spjspj
6ab4a94bd7 spjspj - Add in 'View Current Deck' option. 2017-04-23 13:06:09 +10:00
spjspj
94ea9b8ebd spjspj - Add option of adding in Tokens from the init.txt file
token:Human:MerfolkWizardToken:1
token:Human:GermToken:1
are examples
2017-04-23 02:51:49 +10:00
spjspj
f73c30812e Merge branch 'master' of https://github.com/spjspj/mage 2017-04-22 19:36:28 +10:00
spjspj
8845d77628 spjspj - Remove View Limited Deck option 2017-04-22 19:35:08 +10:00
spjspj
ca519894b5 spjspj - Add a View Limited Deck option to allow you to see your deck during matches. 2017-04-22 19:26:59 +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
LevelX2
a4afdb8d3f Removed some not needed error log messages. 2017-04-18 23:35:45 +02:00
magenoxx
fdf15262f9 Returned back my old old avatars 2017-04-18 19:56:35 +03:00
LevelX2
7e57c87f81 * Fixed a bug that prevented the 'Right Mouse Click' menu itmes 'Always Yes'/No' to show (fixes #3128). 2017-04-17 23:40:28 +02:00
LevelX2
8ad957447e Some minor changes to server connect handling and logging. 2017-04-17 18:28:35 +02:00
LevelX2
35791ac6b7 Set SocketWriteTimeout to 10 seconds. 2017-04-17 00:01:39 +02:00
LevelX2
88d121f6e9 Fixed a problem that Ai players did no longer work in tournaments. 2017-04-15 18:15:07 +02:00
LevelX2
f90d49ae0a Fixed a problem that general tournament messages (not send by a user) were no longer displayed. 2017-04-15 18:14:39 +02:00
ingmargoudt
8b44327312 wrong negation 2017-04-11 09:15:09 +02:00
ingmargoudt
c461d67d34 put disconnect reason message in enum 2017-04-04 21:59:26 +02:00
ingmargoudt
ff6d1541c3 clientcallbacks to enums 2017-04-04 21:52:15 +02:00
ingmargoudt
f04fecf7a6 broadcast fix 2017-04-04 20:40:37 +02:00
ingmargoudt
211d433ea9 playertype, enum singleton 2017-04-02 22:09:20 +02:00
LevelX2
4c35650b2b * Fixed a problem that chat messages were no longer broadcast (fixes #3050). 2017-04-02 10:51:00 +02:00
ingmargoudt
95869811ac fixed scope issue when logging in 2017-03-25 09:38:08 +01:00
ingmargoudt
334ad729a8 remove usermap by name, introduced more optionals 2017-03-22 20:49:48 +01:00
ingmargoudt
ff6c6405aa rewrites to optionals 2017-03-19 19:48:32 +01:00
ingmargoudt
234cfe9519 rewrote singleton to enum where applicable 2017-03-14 16:32:47 +01:00
Derek Monturo
0ecf679c7f if an empty email address is used, display a more specific message 2017-03-07 10:23:51 -05:00
ingmargoudt
372584f7ad changed cardtype from list to enumset 2017-03-03 17:04:32 +01:00
spjspj
4681232d18 Refactor color restriction in edh... 2017-03-01 09:11:29 +11:00
spjspj
faee8fb298 Refactor color restriction in edh. Change to look at commander color identity. 2017-03-01 08:56:52 +11:00
vraskulin
0bc9cf91a8 Minor improvements - StringBuilder now have initial value 2017-02-28 15:26:07 +03:00
vraskulin
eb58391fe2 Redundant StringBuilder creation. 2017-02-28 11:07:40 +03:00
ingmargoudt
afbf5ce2b6 Merge pull request #2891 from kubikrubikvkube/master
Nulls to optional. Also there was bug with AetherChaser
2017-02-27 17:51:35 +01:00
vraskulin
498c8cf60c Made utility classes final to explicitly forbid it's inheritance 2017-02-27 17:03:38 +03:00
spjspj
aec46f366b Merge pull request #2894 from spjspj/master
Allow limiting a colour in edh
2017-02-27 23:35:57 +11:00
spjspj
5365f9cac5 Allow limiting a colour in edh 2017-02-27 23:33:58 +11:00
doncarton
5eaaa67d1e Nulls to optional. Also there was bug with AetherChaser "you may pay" was not set to optional 2017-02-26 15:15:54 +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
spjspj
a6e34c040b Limit messages to 500 characters 2017-02-18 20:32:22 +11:00
vraskulin
a15220d51e Bugfixes with != instead of equals and default toString calls 2017-02-15 19:52:20 +03:00
vraskulin
752392fc46 Functional interfaces should be annotated as functional interfaces 2017-02-15 19:23:12 +03:00
vraskulin
f1ef3bf68b Narrowed variables scope. 2017-02-15 16:05:18 +03:00
ingmargoudt
3a152ab3d6 rewrote enum comparisons, iterator to removeIf, added some stream and filters 2017-02-11 22:37:00 +01:00
ingmargoudt
20b24e3360 Merge pull request #2846 from kubikrubikvkube/master
Singleton object should not have map with values that can't be GCed
2017-02-11 20:43:32 +01:00
spjspj
d30e959f43 Merge pull request #2854 from spjspj/master
Implement Parallax Nexus
2017-02-11 20:13:32 +11:00
spjspj
4f13d89849 In testmode, ok to not send an email. 2017-02-11 01:26:52 +11:00
vraskulin
f99cd21275 Mostly code format fixes. 2017-02-09 18:30:31 +03:00
vraskulin
7cf4ca3cae Can be isEmpty 2017-02-09 17:44:14 +03:00
vraskulin
433b08238f We're gonna use standart parameterised constructor, instead of addAll method. 2017-02-09 17:42:05 +03:00
vraskulin
192110cd68 There is no need to call simple getter from the same class. 2017-02-09 17:40:51 +03:00
LevelX2
b8cc0120cb Merge origin/master 2017-02-06 21:21:16 +01:00
LevelX2
1dbd24cde6 Fixed a null pointer error in user. 2017-02-06 21:20:55 +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
vraskulin
31589778ca Try/finally refactored to try with resources 2017-02-06 14:32:11 +03:00
vraskulin
d8c4e60138 Removed outdated "main" method that prints few sanitized lines 2017-02-06 14:32:11 +03:00
spjspj
9fe53e52c2 Merge pull request #2836 from spjspj/master
Add field for server console
2017-02-05 14:54:28 +11:00
spjspj
fa97e4647e Add field for server console 2017-02-05 14:11:05 +11:00
LevelX2
5212c3c7dd Fixed an Optional<> bug of GameController. 2017-02-04 14:27:03 +01:00
LevelX2
2a3e38f845 * Fixed a bug that prevented rollback request window to appear. 2017-02-03 21:00:49 +01:00
spjspj
676d2a54dc Merge pull request #2820 from spjspj/master
Modify the profanity filter to push it back to client side only.
2017-01-27 18:21:04 +11:00
spjspj
70453f1ac3 Modify the profanity filter to push it back to client side only. 2017-01-27 18:19:45 +11:00
spjspj
c2e41640e8 Merge pull request #2819 from spjspj/master
Modify the profanity filter to push it back to client side only.
2017-01-27 12:39:37 +11:00
spjspj
f41d81f8e4 Modify the profanity filter to push it back to client side only. 2017-01-27 12:38:31 +11:00
LevelX2
f5b5014b2d Fixed a bug from addding new java Optionals constructs that prevented games to start. 2017-01-21 01:12:10 +01:00
Quercitron
c52637343c Fix build. 2017-01-20 04:18:44 +03:00
Goudt
84081cbece small fixes after comments 2017-01-18 23:59:19 +01:00
Goudt
a522930592 Merge branch 'master' of https://github.com/magefree/mage 2017-01-18 23:53:29 +01:00
spjspj
b397e2849c Add missing field to userData 2017-01-15 23:33:20 +11:00
igoudt
f98afdf4ad Introducing Optionals 2017-01-14 21:52:40 +01:00
spjspj
72e4df539b spjspj - Send generated password in an email to new users. 2017-01-15 02:57:25 +11:00
spjspj
6ffa1dc146 Merge pull request #2796 from spjspj/master
spjspj - Add Set Active to server console
2017-01-14 16:52:48 +11:00
spjspj
51843474f0 spjspj - Add Set Active to server console 2017-01-14 16:46:27 +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
46d369c8ed Big refactoring (server)
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:47:03 +03:00
spjspj
4a5dc3c67d Chat Manager - Add [Card Name] for colour highlighting of implemented cards 2017-01-08 17:05:51 +11:00
spjspj
0de89ca5b7 Some Chat Manager updates 2017-01-08 11:57:16 +11:00
vraskulin
b4546a2ecb Renamed method
According java naming convention methods should start from lowercase letter.
2016-12-29 14:13:23 +03:00
LevelX2
233096dc1b Merge pull request #2715 from bhickey/bowdlerize
Censor the word "penis"
2016-12-25 10:57:36 +01:00
Brendan Hickey
3294e51d29 Censor the word "penis"
mage is censoring the word "vagina", so it should also censor "penis"
2016-12-24 11:36:04 -05:00
vraskulin
e22951c68e Repository objects refactoring
SQL query is limited by 1, so there will be two cases - whether collection is empty or not. We should user convenient shortcut for checking emptiness of collection
2016-12-19 11:30:32 +03:00
vraskulin
3be7598ee1 SQL query perfomance improvements
There will be always 0 or 1 distinct result. If we don't limit this query it will find an item, and still will go through the whole table trying another one, which is unneccesary and have performance impact.
2016-12-16 17:27:19 +03:00
spjspj
7fd2eeedcf Add 'EDH power level' rating to Commander tables 2016-11-20 23:13:16 +11:00
spjspj
d7b1ae68ed spjspj - Sorcery count was double 2016-11-18 00:14:59 +11:00