- fixed that copy effect doesn't restore original image after effect's end;
- removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
- refactor command objects to use CommandObjectImpl;
- refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
- refactor another game objects to remove some duplicated fields;
* added parameter for player adding counters to players
* added parameter for player adding counters to cards/permanents
* updated methods to use new parameter
* fixed a few initial errors
* refactored instances of cards that add counters by a player other than the controller
* fixed some instances of incorrect arguments
* refactored abilities that trigger off of a particular player adding counters
* a few more cards that were missed
* [KHM] Implemented Vorinclex, Monstrous Raider
* added test for Vorinclex, Monstrous Raider
* fixed a test failure
* AI can't activate or play some things, but you can instruct it to do that;
* insert special command in init.txt to enable it: [@activate opponent ability]
* use cheat button to activate that command;
* you will see all playable abilities for your opponent;
* select any ability to activate (it will be activated by opponent);
* maybe buggy as all other cheat engine commands;
+ 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");
* show opponent hand
* show opponent library
* added params to special commands to show more or less info:
- pt;
- color;
- abilities count;
- abilities list.
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.