Commit graph

28 commits

Author SHA1 Message Date
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
e3229d7eab refactor: use same code style in library's methods 2023-08-31 19:38:37 +04:00
Susucre
f75b1c9f0a
Code cleanup: protect all copy constructors (#10750)
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
2023-08-04 19:34:58 -04:00
Alex Vasile
2996b0f76f Changed getTopCards to use LinkedHashSet to always return cards in the same order that they are in the library. 2022-02-06 10:08:17 -05:00
Oleg Agafonov
0e916b6e29 Dev: added additional info to some classes for easy debug; 2021-03-07 17:16:54 +04:00
LevelX2
3aefbfb360 * Fixed problems with win / lose restrictions in relation to empty draw condition (fixes #1681 #6553). 2020-05-26 16:38:01 +02:00
Oleg Agafonov
5adab75324
Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7 format: organize imports 2020-02-04 16:21:48 -03:00
Oleg Agafonov
745bfa2836 Fixed NPE errors on missing card (game.getCard can't find card); 2020-01-15 07:08:56 +04:00
Oleg Agafonov
8c7df840f3 Fixed NPE errors for some cards (#5471) 2019-01-07 14:04:33 +04:00
Oleg Agafonov
0293b91c25 Tests: added random results image generators (random, shuffle, dice, planar dice); 2019-01-05 13:12:59 +04:00
igoudt
9f06046f22 add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts 2018-07-04 14:24:11 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
dcd3e7c039 * Some more fixed/reworked card movement handling. 2018-05-08 23:46:34 +02:00
LevelX2
df987049c0 * Fixed some card movement (fixes #4910). 2018-05-08 18:01:15 +02:00
LevelX2
041ad9e036 [DOM] Added three cards. Some fixes to rule texts and some more minor fixes. 2018-04-15 11:33:57 +02:00
igoudt
f0623d37c9 some cleanups 2017-09-01 22:48:42 +02:00
LevelX2
d1fd69f685 Fixed shuffle algorithm. 2017-05-09 17:01:46 +02:00
ingmargoudt
594ffa2754 rewrote some streams and optionals 2017-04-01 22:45:40 +02:00
ingmargoudt
1caf3a6be4 change getLibrary().size() > 0 to hasCards() 2017-03-07 17:28:26 +01:00
igoudt
ab624c22ef library replaced !contains -> put with putIfAbsent 2017-01-09 12:09:03 +01:00
vraskulin
f04ba151f7 Refactoring
See github line by line comments in 'File changed'
2016-12-29 16:49:12 +03:00
LevelX2
445a8a242e * Reverted the library quick fix for random because RandomUtil works now. 2016-09-14 19:02:27 +02:00
LevelX2
d0a570aeee Quick fix to get random shuffling. 2016-09-10 19:39:59 +02:00
LevelX2
21baa14404 * Fixed a problem with token P/T reset (fixes the problem with Tree of Perdition and Soul Separator). 2016-09-08 17:15:40 +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
LevelX2
df98b4e0af * Fixed a bug with time stamp order and change of basic land type (e.g. Blood Moon and Spreading Seas). 2016-02-25 17:08:17 +01:00
poixen
46eb6c0525 Restructured Mage module 2015-11-29 21:56:49 +01:00
Renamed from Mage/src/mage/players/Library.java (Browse further)