Commit graph

42 commits

Author SHA1 Message Date
Oleg Agafonov
c3a0c731d6 AI, tests: added stability tests to make sure AI simulations can process errors and freezes (part of #13638, #13766); 2025-06-28 22:51:34 +04:00
xenohedron
9fcbfdeac6
Rework drawing cards and associated replacement effects; implement [WHO] River Song (#12700)
* remove unused scoring system code

* add test for Alms Collector replacement effect

* flatten draw cards into single method in PlayerImpl

* remove outdated MageAction framework

* clarify game event for drawing two or more cards

* clarify methods for getting cards from library

* implement [WHO] River Song

* fix error

* adjust library methods

* add lots of test cases for draw replacement effects

* fix #12616

* track cards drawn this way through multi draw replacement as well

* add test for River Song

* remove redundant comment
2024-08-24 01:02:55 -04:00
Oleg Agafonov
e1cffbde40 download: reworked connection:
- added shareable code with default proxy, headers and other settings for download tasks like images, symbols, mtgjson, etc;
- use XmageURLConnection.downloadText for text resources
- use XmageURLConnection.downloadBinary for any file resources
- added user agent with app version for all requests;
- added http logs and improved error messages;
2024-07-31 21:25:56 +04:00
Oleg Agafonov
7d675de876 server: fixed server app freeze on another instance already running, improved threads usage (related to #11285); 2024-06-23 15:58:25 +04:00
Oleg Agafonov
72cf60085c AI: fixed MCTS (Monte Carlo) errors in some simulations (#10154); 2024-06-10 21:54:53 +04:00
Oleg Agafonov
fe55e67ca3 AI: fixed any MCTS (Monte Carlo) simulations fail, added catch error on MCTS fails (#10154); 2024-06-10 20:37:32 +04:00
Oleg Agafonov
e8e2f23284 server: improved server stability (#11285) and reworked triggers/playable logic (#8426):
* game: now all playable calculations done in game simulation, outside real game (no more freeze and ruined games by wrong Nyxbloom Ancient and other cards with wrong replacement dialog);
* game: fixed multiple problems with triggers (wrong order, duplicated calls or "too many mana" bugs, see #8426, #12087);
* tests: added data integrity checks for game's triggers (3 enabled and 3 disabled due current game engine logic);
2024-04-16 23:10:18 +04:00
Oleg Agafonov
08b99fcbf7 AI: removed outdated AIMinimax project (#7075), removed some useless player classes, code and config files, improved docs; 2024-01-15 05:03:21 +04:00
Oleg Agafonov
a15a0daa04 Fixed potential NPE errors in getPhase usage (fixed Berserker's Frenzy, etc) 2023-03-25 16:01:27 +04:00
Alex Vasile
015cdf3136
Revert "Added missing fields to many copy constructors. (#8957)" (#8999)
This reverts commit 82708e4273.

Some of these (AI related result in bloated memory usage, needs more investigation).
2022-05-25 12:57:24 -06:00
Alex Vasile
82708e4273
Added missing fields to many copy constructors. (#8957) 2022-05-25 09:51:18 -06:00
Oleg Agafonov
c13d07b73d [CMR] fixed Rakshasa Debaser - class cast exception in filter on usage; 2020-12-18 15:54:59 +04:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
Oleg Agafonov
a5fb946fb3 * AI: fixed double triggers of blocker declared event for Monte Carlo AI (with activated block requirement effect, see #6367); 2020-04-14 20:11:41 +04:00
Oleg Agafonov
98cbf42a11 Added MCTS AI for #6114 2019-12-23 23:35:19 +04:00
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
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
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
betasteward
c5e216ddbf more MCTS improvements 2015-05-04 15:41:37 -04:00
betasteward
9209e43310 Updates to MCTS AI 2015-04-30 11:33:22 -04:00
LevelX2
dd54269216 * Fixed handling of Split cards (fixes #670). 2015-02-03 00:05:30 +01:00
LevelX2
7d2b1c076a * 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:19:03 +02:00
North
1867a150c1 [refactor] removed generic parameter from Player 2014-06-03 11:19:49 +03:00
LevelX2
0d37d1593b * Odric Master Tactician - Fixed that the game didn't leave the block phase controlled by the controller of Odric. 2013-08-06 18:26:49 +02:00
North
0bb110be45 [refactor] moved enums from Constants class 2013-06-16 12:28:10 +03:00
North
a3411f2486 [cleanup] removed unused imports 2013-04-19 20:01:10 +03:00
LevelX2
ee4b203ace Fixed compile error after AI update. 2013-03-15 10:33:43 +01:00
North
a7a565bb8f [minor] access modifer order 2013-03-10 14:53:02 +02:00
magenoxx
23a75c39ba [M13] Odric Master Tactician 2012-07-18 20:45:39 +04:00
North
239a4fb100 [refactoring][minor] Replaced all tabs with four spaces. 2012-06-19 23:50:20 +03:00
magenoxx
5be6f78d59 Adding writting amount of mana payed for {X} cost 2012-06-12 10:38:39 +04:00
BetaSteward
48f5a469d4 fixes for monte carlo ai 2012-02-13 09:05:01 -05:00
BetaSteward
d813283c19 adding back recent changes - not quite sure how I managed to revert all this 2012-02-02 23:48:25 -05:00
BetaSteward
1d32f49fd0 modified triggered abilities, continuous effects and zones 2012-02-02 23:27:23 -05:00
BetaSteward
7fce6c552d fixes + optimizations + updates to monte carlo ai 2012-01-24 22:51:31 -05:00
BetaSteward
377dd54fca single-threaded monte carlo + some fixes 2012-01-16 18:55:35 -05:00
BetaSteward
dfffdfcf8c latest monte carlo ai - has a memory leak 2012-01-10 21:29:53 -05:00
BetaSteward
84035ea849 multi-threaded monte carlo AI 2011-12-01 14:51:56 -05:00
BetaSteward
ec297c243c fixed shuffle event 2011-11-22 10:59:53 -05:00
magenoxx
1f94c38cb0 Added FIXME comment to MCTS. Should be fixed later. 2011-11-15 09:17:45 +03:00
BetaSteward
c508f07910 added monte carlo AI - still needs some work 2011-11-04 23:02:32 -04:00