Commit graph

33527 commits

Author SHA1 Message Date
Evan Kranzler
1cbbcddcc6
Improving implementation of cards which use voting (WIP) (#7566)
* created interface for handling voting

* created class for two choice votes, refactored a card to use it

* refactored all cards which use two choice votes

* updated VoteHandler to an abstract class to encapsulate more of its functions

* refactored cards which vote for more than two things

* [CNS] Implemented Brago's Representative

* [CN2] Implemented Ballot Broker

* [CN2] Implemented Illusion of Choice

* [CNS] Implemented Grudge Keeper

* added vote outcomes

* updated implementation of Illusion of Choice to work correctly in multiples

* added test for voting

* updated implementation of extra votes

* simplified vote message handling

* Improved names, additional comments

* Votes: fixed not working getMostVoted

* Votes: added final vote results to game logs;

* Votes: added additional info for the vote choices;

* Votes: added vote step info in choose dialogs, added AI support example for Tyrant's Choice;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-03-20 18:32:54 +04:00
Evan Kranzler
991f154cd7 [IKO] small nonfunctional change to Zirda, the Dawnwaker test 2021-03-15 10:17:04 -04:00
Evan Kranzler
f9571398b5 [ELD] added possible fix for Once Upon a Time intermittently failing (#6954) 2021-03-15 09:51:49 -04:00
Evan Kranzler
8400127de1 fixed Twincast targeting any spell (fixes #7674) 2021-03-15 09:35:33 -04:00
Evan Kranzler
4874ad31c1 [IKO] added workaround for Yorion, Sky Nomad not being usable in a two player match with limited set as deck type 2021-03-14 19:05:25 -04:00
Evan Kranzler
5e2738aab9 [IKO] fixed issue with Zirda, the Dawnwaker static ability not working when reanimated 2021-03-14 18:49:32 -04:00
Evan Kranzler
d4792e3665 reworked/simplified/consolidated effects which exchange life totals, added test (fixes #7668) 2021-03-14 15:56:48 -04:00
Evan Kranzler
1abeec9595 [M11] fixed Hoarding Dragon not returning card to hand (fixes #7670) 2021-03-14 14:39:28 -04:00
Evan Kranzler
c03571d743 fixed a test failure 2021-03-14 12:28:10 -04:00
Evan Kranzler
163c3277ea [DTK] reimplemented Hedonist's Trove 2021-03-14 12:09:33 -04:00
Evan Kranzler
13ac8f2c01 [IKO] added test for Zirda, the Dawnwaker 2021-03-14 11:40:08 -04:00
Evan Kranzler
e0336d4d65 [ROE] fixed Tuktuk, the Explorer token creature type (fixes #7673) 2021-03-13 08:40:30 -05:00
Evan Kranzler
45094a82d5 [TSR] fixed Pallid Mycoderm text 2021-03-12 15:16:11 -05:00
Evan Kranzler
19ec3e399e fixed text on wish effects 2021-03-12 15:05:37 -05:00
Evan Kranzler
9c56a98dc9
Refactor implementation of spell copies for cards like Twinning Staff as well as refactor handling of target changing (WIP) (#7662)
* refactored createCopyOnStack to be void

* added new interface for modifying copied spellsspells

* update implementation of Fork to use new applier

* reworked epic effect

* add applier to spell copy code

* updated implementation of Beamsplitter Mage

* updated cards which copy for each possible target

* added support for additional copies having targets changed

* fixed/ignored failing tests

* updated target changing to prevent unnecessary choosing

* added test for Twinning Staff

* updated implementation of spell copy applier

* added new method for choosing order of copies on stack

* fixed test failures

* [TSR] various text fixes

* fixed a test failure

* [SLD] fixed Rick, Steadfast Leader only counting Human creatures

* updated test framework to handle skips without affecting starting player choice

* fixed another test failure

* updated copy messaging for consistency

* added copy messaging to stack abilities
2021-03-12 12:47:49 -05:00
Evan Kranzler
b51915f6e8 [SLD] fixed Rick, Steadfast Leader only counting Human creatures 2021-03-09 20:29:49 -05:00
Evan Kranzler
93c9b2770a fixed a test failure 2021-03-09 20:27:05 -05:00
Evan Kranzler
1dfde6d622 [TSR] various text fixes 2021-03-09 20:01:32 -05:00
Evan Kranzler
2c168856c5 [2XM] added booster collation including foils 2021-03-08 10:18:55 -05:00
Evan Kranzler
a1ab427654 [SLD] fixed Rick, Steadfast Leader boosting non-Human creatures 2021-03-07 18:31:23 -05:00
Oleg Agafonov
0ab8d0d16f Fixed NPE 2021-03-07 23:45:50 +04:00
Oleg Agafonov
53a2021a12 * Caller of the Hunt - fixed rollback error on usage, added AI support for the card; 2021-03-07 23:41:52 +04:00
Oleg Agafonov
2906f86324 Test framework: simplified AI logic and tests, added usage comments. Devs recommendations:
* in card's code use player.isComputer instead player.isHuman (it help to split Human/AI logic and test both by unit tests);
* usage example: AI hint to skip or auto-calculate choices instead call of real choose dialogs;
* unit tests for Human logic: call normal commands;
* unit tests for AI logic: call aiXXX commands;
2021-03-07 23:38:10 +04:00
Oleg Agafonov
00c7b3753c * Bronzehide Lion - fixed rollback error on usage (fixes #7564); 2021-03-07 18:36:02 +04:00
Oleg Agafonov
6e661e6d97 * Halvar, God of Battle - fixed rollback error on attached permanent die; 2021-03-07 18:28:19 +04:00
Oleg Agafonov
0e916b6e29 Dev: added additional info to some classes for easy debug; 2021-03-07 17:16:54 +04:00
Oleg Agafonov
bde6222ea6 * The First Sliver - fixed too long rules text; 2021-03-07 03:12:20 +04:00
Oleg Agafonov
ccc85c1acb [TSR] added tokens 2021-03-07 03:08:17 +04:00
Oleg Agafonov
7e72ba95bc Fixed typos 2021-03-07 03:08:17 +04:00
Oleg Agafonov
d3b787b9a6 [TSR] added images download 2021-03-07 03:08:17 +04:00
Evan Kranzler
f54145ad42 [LRW] reworked abilities which trigger off of clashing 2021-03-06 14:49:55 -05:00
Evan Kranzler
02f04e541c a few small text fixes 2021-03-06 14:35:01 -05:00
Oleg Agafonov
b36f915d74 * Copy spell - improved support, now all copied spells are independent (bug example: Seasons Past fizzled after copy resolve, see #7634, 10f8022043); 2021-03-06 19:32:17 +04:00
Evan Kranzler
8704b9cb9b [VIS] fixed Vision Charm effect duration (fixes #7652) 2021-03-06 07:56:42 -05:00
Evan Kranzler
6894ad96bc [TSR] various text fixes 2021-03-05 19:10:29 -05:00
Evan Kranzler
bb2e0922ab [TSR] fixed a test failure 2021-03-05 18:34:28 -05:00
Evan Kranzler
425c1eda26 [TSR] added set 2021-03-05 18:17:01 -05:00
Evan Kranzler
b55e3d52c6 [AKH] fixed Throne of the God-Pharaoh text (fixes #7647) 2021-03-05 17:26:40 -05:00
Evan Kranzler
622d13484f fixed some outdated token text 2021-03-05 10:54:15 -05:00
Oleg Agafonov
712cf4576d * Gain abilities - fixed that objects can get only one instance of triggered ability instead multiple (example: 2+ cascades from copies of Imoti, Celebrant of Bounty, f52753ad61); 2021-03-05 16:22:46 +04:00
Oleg Agafonov
4e79c83784 Test framework: fixed missing range info for added cards (some ETB effects were broken on "put to battlefield" command usage); 2021-03-05 15:12:47 +04:00
Oleg Agafonov
654c0be1ac Additional fixes for 4a3679285e (#7645) 2021-03-04 23:49:00 +04:00
Evan Kranzler
b1da4d4d79 [MOR] fixed Knowledge Exploitation not working (fixes #7646) 2021-03-04 14:20:33 -05:00
Daniel Bomar
4a3679285e
Fixed Crucible of Worlds allowing lands to be played from opponent's graveyard (fixes #7645) 2021-03-04 12:55:49 -06:00
Evan Kranzler
87c272bf06 [KHM] fixed Battle for Bretagard allowing controller to copy tokens they don't control (fixes #7642) 2021-03-03 22:14:42 -05:00
Evan Kranzler
afcdc0f23a simplified and consolidated werewolf triggered abilities 2021-03-03 22:13:16 -05:00
Evan Kranzler
378d596e3c [ULG] reimplemented Damping Engine, fixed text 2021-03-03 20:49:39 -05:00
Evan Kranzler
29be124725 refactored card.moveToExile for M-N
reworked Mindreaver
2021-03-03 10:04:15 -05:00
Evan Kranzler
4c3de17006 refactored card.moveToExile for I-J
reworked Inverter of Truth and Luminate Primordial
2021-03-03 09:22:29 -05:00
Evan Kranzler
28c0bd55e8 added test for Muraganda Petroglyphs/Tarmogoyf/Muraganda Petroglyphs 2021-03-03 09:06:39 -05:00