Oleg Agafonov
0fa4ee677e
AI: fixed rare error exception "comparison method violates its general contract";
2019-01-30 20:28:46 +04:00
Oleg Agafonov
14f66029f8
Missing v33 commit
2019-01-16 20:59:45 +04:00
Oleg Agafonov
063be44523
Fixed NPE errors for some cards ( #5471 )
2019-01-08 07:15:39 +04:00
Oleg Agafonov
e9f9b05141
Fixed NPE errors for some cards ( #5471 )
2019-01-02 20:06:01 +04:00
Oleg Agafonov
4495d75d8a
Fixed NPE error on AI calcs
2018-12-18 17:17:10 +04:00
LevelX2
e6ce58d6bf
XMage 1.4.32V0
2018-11-26 19:30:22 +01:00
Ingmar Goudt
f04d7c9b03
remove redundant null checks before instanceof
2018-09-17 21:09:42 +02:00
LevelX2
deb675a74a
Xmage 1.4.30V0
2018-08-15 11:35:40 +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
igoudt
ca1ebeb55e
add method Game.isActivePlayer(UUID playerId)
2018-06-29 14:59:11 +02:00
Michael Simons
2fbbf7a516
Fixed typos
2018-06-03 23:24:36 -04:00
Michael Simons
de9042dafe
Changes to try and better handle X mana costs with minimum X values with AI decisions #4906
2018-06-03 22:47:56 -04:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files
2018-06-02 17:59:49 +02:00
LevelX2
a19c257e50
XMage 1.4.30V0
2018-05-27 01:28:42 +02:00
LevelX2
cddd81123b
Some changes related to #4893 .
2018-05-03 01:33:21 +02:00
Oleg Agafonov
c24ba742f6
Fixed equal or == errors -- 23 cards and more (see #4407 )
2018-04-28 21:24:48 +04:00
LevelX2
fe2220e19e
Xmage 1.4.29V0
2018-04-19 21:07:14 +02: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
LevelX2
442130beb6
Some minor changes.
2018-03-17 23:40:36 +01:00
LevelX2
170ad083c7
* Fixed a problem of the AI that it could cast cards with flashback without paying the costs.
2018-03-17 01:51:25 +01:00
LevelX2
fed2d1a259
XMage 1.4.28V0
2018-03-10 20:42:29 +01:00
LevelX2
dac8f2dfe8
Fixed a bug of AI not handling pass action correctly so the AI got passive. Added AI possibility to act after blockers are declared (eg boost for blocking or blocked creatures).
2018-03-10 19:59:59 +01:00
Jeff
9cd3c010fd
- Cleanup of AI classes.
2018-01-19 16:37:09 -06:00
LevelX2
40afa04b24
xmage 1.4.27V0
2018-01-13 22:54:53 +01:00
Oleg Agafonov
3d53d28f5e
Fixed AI infinite loop on wrong answers input (tests affected)
2018-01-04 18:14:22 +04:00
Oleg Agafonov
3dda5712db
AI: fixed not working choice with key-value dialogs, random refactor
2018-01-04 00:23:20 +04:00
Zzooouhh
3a6974c0b0
NullPointerException fix
2017-12-23 19:42:02 +01:00
LevelX2
0d46c68924
* Fixed some problems for handling concede during game init.
2017-11-04 18:19:41 +01:00
LevelX2
58d3fc2328
Fixed player leaving/conceding handling.
2017-10-21 16:13:45 +02:00
LevelX2
5996aa12e6
Trove of Temptation working for Human.
2017-09-15 17:51:54 +02:00
Evan Kranzler
252c941b4f
Refactored more subtypes usages to enum
2017-09-08 09:57:51 -04:00
LevelX2
db93e3f672
* C17 Enchantment Curses - Fixed a bug that could create game errors (index out of bounds).
2017-08-17 21:36:55 +02:00
LevelX2
1fb24116ae
xmage 1.4.26V0
2017-08-15 01:27:06 +02:00
LevelX2
fe2ee5dfec
Xmage 1.4.25V0
2017-07-29 20:35:16 +02:00
LevelX2
7d911ae803
XMage 1.4.24V0
2017-07-08 16:33:09 +02:00
LevelX2
ef4cf90a0f
Release 1.4.23V0
2017-04-17 10:53:59 +02:00
ingmargoudt
6f8f10fcc3
move static function to CardImpl, and other api fixes
2017-03-30 20:09:47 +02:00
vraskulin
d93061c0bc
Equals should be compared with == but not equals()
2017-03-22 14:50:50 +03:00
LevelX2
9d8a8a33f1
Xmage 1.4.22V0
2017-03-11 13:38:55 +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
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
6625bf86be
Xmage 1.4.21V0
2017-01-15 17:44:02 +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
vraskulin
2e83930ace
Creating new ArrayList is unneccesarry
...
We shouldn't create new arraylist with default size and no element in it to show that no elements found in database. It's one more object in heap, which will be never used. There is special method Collections.emptyList() - it's more readeable and returns empty immutable list
2016-12-19 12:23:23 +03:00
LevelX2
b62ca1ed1f
Xmage 1.4.19
2016-11-27 19:59:42 +01:00
LevelX2
c9e1b415e2
Xmage 1.4.18V0
2016-11-06 18:11:19 +01:00
LevelX2
8b62eece68
XMage 1.4.17V0
2016-10-23 10:03:01 +02:00
LevelX2
97b872d926
* Fixed that a spell that becomes a permanent didn't had the colors of the spell (e.g. ERsatz Gnomes).
2016-10-22 10:38:10 +02:00
LevelX2
157827addc
XMage 1.4.16v0
2016-10-08 11:14:13 +02:00
ingmargoudt
3128bd2b4b
replace [list].size() == 0 and [string].length() == 0 to use .isEmpty() instead
2016-09-14 15:27:31 +02:00
LevelX2
bb8326d46b
XMage 1.4.15v0
2016-09-10 12:31:18 +02:00
ingmargoudt
e2a479255a
refactor : removed all instances of new Random() and replaced with RandomUtil for a ThreadLocal randomizer
2016-09-05 15:03:47 +02:00
Samuel Sandeen
148f633672
Make the Counters API for card and permanent consistent.
2016-09-03 10:33:54 -04:00
Samuel Sandeen
282443c231
Add Subtype to the CardAttribute Framework
...
This is a massive change. I’ve refrained from unrelated refactoring
when possible but there are still a lot of changes here.
2016-08-28 17:30:10 -04:00
LevelX2
539b03bd1d
Xmage 1.4.14v0
2016-08-13 10:14:38 +02:00
LevelX2
d0ecb473da
Xmage 1.4.13v0
2016-07-11 22:54:43 +02:00
LevelX2
266a0870ca
Xmage 1.4.12v0
2016-05-29 10:59:39 +02:00
LevelX2
773decf593
* Fixed a problem with the AI handling of TARGETED event (e.g. Silverfur Partisan not triggering - fixes #1916 ).
2016-04-30 11:42:01 +02:00
emerald000
9d380331d7
Removed choices that should not be made while casting of a spell.
...
For example: color choices for protection abilities.
2016-04-28 01:32:48 -04:00
LevelX2
e2a8ddef0f
Merge pull request #1905 from KWottrich/clean-up-java-imports
...
Clean up java imports
2016-04-26 11:37:35 +02:00
LevelX2
1fcd26fc60
xmage 1.4.11v0
2016-04-26 00:59:03 +02:00
Kenny Wottrich
f3c83d54f5
Remove Unused Imports
...
Delete unused java imports that cause compiler warnings
2016-04-24 19:50:29 -05:00
emerald000
8823839a42
Added framework method for copying a StackAbility without casting it.
...
Modified the effects doing so with the new method.
2016-04-17 23:55:11 -04:00
Fenhl
430ae503c7
Change all line endings to LF
2016-04-14 16:18:01 +00:00
LevelX2
bcdde0a945
XMage version 1.4.10v0
2016-04-06 22:56:02 +02:00
LevelX2
e9638bcc4d
Release 1.4.9v0
2016-02-21 12:58:58 +01:00
LevelX2
5981816a4b
Switch to 1.4.8 for upcoming realease.
2016-01-22 22:33:58 +01:00
LevelX2
121f40c019
Prepared 1.4.7.
2016-01-10 22:13:59 +01:00
LevelX2
207f486afc
* Xmage 1.4.6v0
2015-12-13 19:47:04 +01:00
Neil Gentleman
bfb428b13a
always use log4j
...
removed all references to mage.util.Logging, java.util.logging
transient static doesn't mean anything, since static fields are never
included in serialization
2015-11-28 21:11:25 -08:00
LevelX2
0d86e8e063
Xmage 1.4.5v0
2015-11-21 10:33:43 +01:00
LevelX2
e0c1492f88
* Fixed a problem that the AI was locked if a attack fee has to be paid but the AI was not able to pay the costs.
2015-10-30 22:34:42 +01:00
LevelX2
8b8097878c
* Reworked/Cleaned card movement handling.
2015-10-11 03:52:38 +02:00
LevelX2
9a37bd28ad
Xmage 1.4.4v0
2015-09-05 12:51:07 +02:00
LevelX2
aa1eb354ef
* Removed some data from player restoring to fix unintended draws after a player concedes game ( #1205 )
2015-08-18 17:20:04 +02:00
LevelX2
c98577cc6a
Xmage 1.4.3v0
2015-08-06 22:18:01 +02:00
LevelX2
4324a6a683
Fixes to token image handling.
2015-07-19 10:09:50 +02:00
LevelX2
0c0fe9984e
Some fixes/improvements to AI target handling and tests.
2015-07-16 13:10:11 +02:00
LevelX2
fa0a40b0d6
* Some fixes/chnages to AI player. Needs probably some more testing.
2015-07-12 19:51:04 +02:00
LevelX2
cd0cba6ec7
XMage Release 1.4.2v0
2015-07-04 01:28:19 +02:00
LevelX2
060a468d4b
Update to release 1.4.1.
2015-06-14 02:43:16 +02:00
LevelX2
3b61a10237
Fixed some bugs and added a AI Test player class.
2015-06-08 18:31:54 +02:00
LevelX2
f63fae06de
Some changes to AI player.
2015-06-03 17:08:01 +02:00
LevelX2
fa847e8feb
* Update to version 1.4.0v0.
2015-05-12 23:11:25 +02:00
LevelX2
b2fe13c8c8
* Fixed attack tap handling - You can no longer attack with a mana producing creature that will be get tapped for attacking and use the creature itself to produce mana to pay for effects like Ghostly Prison if the mana ability has the cost to tap the creature.
2015-04-16 15:57:17 +02:00
LevelX2
6b8493d9f8
* Changed all occurances of unblockable to can't be blocked.
2015-03-08 21:54:36 +01:00
LevelX2
2af52cfd3a
[C14] 11 white cards + 1 Artifact + white deck list + some minor fixes to framework and other cards.
2014-12-01 16:59:36 +01:00
LevelX2
67479bb5a4
* Fixed wrong timer handling while other player controlled a player's turn. Attackers now marked with blue frame. Playable cards have a violet frame. If a player has to select cards from hand, the possible cards are marked yellow now. Discard of multiple cards now marks already selected cards and happens in one selection.
2014-11-26 01:48:00 +01:00
LevelX2
8bb2868dfa
* AI - Fixed that the AI used actions with 0 costs endless (e.g. Chimeric Idol).
2014-11-11 15:40:51 +01:00
LevelX2
b3b51f9f1e
* AI added little passivity penalty for passing turn to get AI more active.
2014-10-03 12:07:59 +02:00
LevelX2
cb6cc62ed4
If match timer is used, the AI consumes now also time for their priority action. Some minor changes to Gamemanager.
2014-09-03 09:49:44 +02:00
LevelX2
d02f272bca
* Fixed that attacker has not always to assign all damage to multiple blockers. Improved AI behaviour of assigning damage to multiple blockers. Tries to kill blocker if possible now.
2014-08-18 00:46:45 +02:00
magenoxx
de6d1bf46b
Asserting action count in tests. minor changes.
2014-08-15 10:52:37 +04:00
LevelX2
3aab091492
Some changes to client and server logging messages.
2014-08-04 17:21:14 +02:00
LevelX2
cbb6117b8e
Replaced some replacement effects with restriction effects. Added new method to restriction effect. Improved canAttack methods (not finished yet).
2014-08-01 15:59:59 +02:00
LevelX2
25e2fb59e1
Support of play_land event for get playable cards.
2014-07-26 15:01:17 +02:00
LevelX2
bcf620a459
* Combat - Creatures forced to attack can no longer be removed from attack by using the undo button (e.g. Bident of Thassa).
2014-06-20 14:45:35 +02:00