Commit graph

9496 commits

Author SHA1 Message Date
Oleg Agafonov
4d1985476f * GUI: added card icon for commander on battlefield;
Card icons: added support of custom card icon colors;
2021-07-23 19:51:45 +04:00
Oleg Agafonov
06ae494c5b Drafts: refactor to use same pack/pick number logic (#8039); 2021-07-23 16:18:56 +04:00
Oleg Agafonov
400acae0c1 * Draft improves:
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033);
 * added pick timing info in tables list (info column);
 * fixed that booster draft starts with wrong pick timeout (#8036);
2021-07-22 23:14:08 +04:00
Evan Kranzler
214b688fdb
Update effects and abilities which involve tapping permanents for mana (#7679)
Abilities which use trigger from or replace tapping for mana now save the permanent in case it leaves the battlefield.
fixes #7671, fixes #7770
* Merge fix and additional comments, Winter's Night fixed

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-22 05:09:07 +04:00
Oleg Agafonov
81193148e9
Merge pull request #8013 from weirddan455/wish
[AFR] Implemented Wish
2021-07-21 20:53:41 +04:00
Oleg Agafonov
5985e6cfcc * Choose from outside - added card hints about sideboard stats and howto view a cards list; 2021-07-21 20:40:31 +04:00
Oleg Agafonov
28473c7bd0 * GUI: added popup menu to view player's outside/sideboard at any time (allows to view only own or computer's sideboards); 2021-07-21 13:44:35 +04:00
Oleg Agafonov
eda50cc7b1 Merge remote-tracking branch 'weirddan455/wish' into wish 2021-07-21 03:35:22 +04:00
Oleg Agafonov
f48da4c923 * GUI: fixed that look at and reveals dialogs doesn't show card's playable status; 2021-07-21 03:34:43 +04:00
Evan Kranzler
e2f1743c6b a few more triggered ability text fixes 2021-07-20 19:06:44 -04:00
Daniel Bomar
aac4cd00ce
Fixed more triggered ability text 2021-07-20 13:58:11 -05:00
Daniel Bomar
3414aa9959
[AFR] Wish - Add watcher to limit for single use 2021-07-20 13:30:38 -05:00
Daniel Bomar
27e1f2c457
Fixed madness triggered ability text (fixes #8029) 2021-07-20 12:19:00 -05:00
Oleg Agafonov
96ca260109 Merge branch 'master' into wish 2021-07-20 09:52:18 +04:00
Oleg Agafonov
19693c94f7 * Path of Ancestry - fixed that it doesn't triggers a scry on commander cast (#7917, #7538, #7750); 2021-07-20 01:01:16 +04:00
Evan Kranzler
66cebe64b0 [AFC] Implemented Clay Golem 2021-07-19 16:35:39 -04:00
Evan Kranzler
34a0e9546a [AFC] Implemented Sefris of the Hidden Ways 2021-07-19 12:50:18 -04:00
Oleg Agafonov
76082e1d7a * GUI: added card icon for announced X value (card cast); 2021-07-19 13:40:21 +04:00
Oleg Agafonov
fc0ff6c22d Test framework: added support to test client side data in unit tests (getGameView -> CardView, etc); 2021-07-19 13:07:09 +04:00
Oleg Agafonov
12aa3b82b8 * GUI: added card icon for face down permanents; 2021-07-18 21:13:03 +04:00
Evan Kranzler
9ce81dca3a [AFC] Implemented Prosper, Tome-Bound 2021-07-18 11:02:09 -04:00
Evan Kranzler
d4ef2ec414 [AFC] Implemented Midnight Pathlighter 2021-07-18 10:46:05 -04:00
Oleg Agafonov
f2ba76ca75 Tests: fixed miss commands, fixed debug info for permanents on battlefield; 2021-07-17 19:43:05 +04:00
Oleg Agafonov
daed98fb0b Fixed missing clear code in combat (maybe related to #7997); 2021-07-17 19:41:25 +04:00
Evan Kranzler
f57693392c various ability word text fixes 2021-07-17 11:17:49 -04:00
Joseph Zeffiro
86e5c5cb50
Fixing multiple triggers during combat (#8017)
* Fixing multiple triggers during combat

* Damage to Source Logic

* Removing unused references
2021-07-17 08:33:30 -05:00
Evan Kranzler
4150a5bb12 small change to test failure fix 2021-07-16 18:43:09 -04:00
Evan Kranzler
d3b5c51428 fixed test failures (fixes #8016) 2021-07-16 13:08:24 -04:00
Daniel Bomar
c08c4bbb36
[AFR] Implemented Demilich 2021-07-16 11:00:59 -05:00
Evan Kranzler
a47af7a5a9 [AFR] Implemented Spare Dagger 2021-07-16 08:09:39 -04:00
Evan Kranzler
d42fd2e505 [AFR] Implemented Ochre Jelly 2021-07-15 20:24:46 -04:00
Evan Kranzler
f9bf84e6f6 [AFR] Implemented Zariel, Archduke of Avernus 2021-07-15 19:28:40 -04:00
Evan Kranzler
3299641ad4 [AFR] various text fixes 2021-07-15 18:39:46 -04:00
Oleg Agafonov
ad7eb55460 [AFR] fixed empty class level up logs, added levelled logs (#7808) 2021-07-16 00:13:27 +04:00
Oleg Agafonov
2d8be6663b [AFR] added card icons with class level info (#7808) 2021-07-15 23:46:19 +04:00
Daniel Bomar
1c3b42996d
[AFR] Implemented Wish 2021-07-15 10:36:17 -05:00
Evan Kranzler
3df1373bee [AFR] Implemented Delina, Wild Mage 2021-07-15 09:25:28 -04:00
Evan Kranzler
ca80806400
Reworking triggered ability text generation to allow for ability words and flavor words to be added more easily (#8010)
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method

* updated triggered ability rules generation

* renamed method

* fixed a test failure

* some more refactoring

* simplified some instances of ability word usage
2021-07-15 07:46:38 -04:00
jeffwadsworth
f84805d487 - Removed test log 2021-07-14 17:17:16 -05:00
jeffwadsworth
ffe75f77ed - Fixed #7572 2021-07-14 16:44:28 -05:00
Daniel Bomar
29d3f96340
[MH2] Implemented Carth the Lion (#7848)
* [MH2] Implemented Carth the Lion

* [MH2] Carth the Lion - Fixed loyalty cost modification

* Fix copy constructor and add getters/setters

* Call sourceObject.adjustCosts before checking cost modifications

* Add unit test

* Added additional comments, checks and tests;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-15 00:12:25 +04:00
Evan Kranzler
5b88484cb6
[AFR] Implementing Class enchantments (ready for review) (#7992)
* [AFR] Implemented Druid Class

* [AFR] Implemented Wizard Class

* [AFR] Implemented Cleric Class

* [AFR] Implemented Fighter Class

* reworked class ability implementation

* fixed an error with setting class level

* small reworking of class triggers

* added class level hint

* added tests

* small change

* added common class for reminder text
2021-07-14 09:17:07 -04:00
Evan Kranzler
d7b2d2208d [AFC] Implemented Thorough Investigation 2021-07-14 09:07:05 -04:00
Evan Kranzler
aa06893f4d [AFC] Implemented Diviner's Portent 2021-07-13 08:19:27 -04:00
Evan Kranzler
f991e0e89a [AFC] Implemented Component Pouch 2021-07-13 08:00:45 -04:00
Daniel Bomar
66b224622a
[AFR] Implemented Plate Armor 2021-07-12 08:48:12 -05:00
jeffwadsworth
799980dff5 - added game param back to addSubType() 2021-07-11 11:39:02 -05:00
jeffwadsworth
9300d07160 - addSubType() already checks for duplicates 2021-07-11 10:05:55 -05:00
jeffwadsworth
ca8fdde793 - Fixed #7995 2021-07-10 20:29:51 -05:00
Daniel Bomar
08aead581c
[AFR] Implemented Mordenkainen (#7990)
* [AFR] Implemented Mordenkainen

* [AFR] Mordenkainen - Use putCardsOnTopOfLibrary method
2021-07-10 19:43:31 -04:00
Evan Kranzler
9d9bf3e88c [AFR] Implemented Minimus Containment 2021-07-10 17:14:36 -04:00
Evan Kranzler
b193ffc627 [AFR] fixed game log issue with +2 Mace 2021-07-10 08:44:59 -04:00
Evan Kranzler
22bf922076 [AFR] Implemented The Book of Vile Darkness 2021-07-09 09:24:51 -04:00
Oleg Agafonov
30bb7cd42e Merge fix, additional comments 2021-07-09 07:36:40 +04:00
Evan Kranzler
572104b8fc
Reworking card types in preparation for implementing Grist, the Hunger Tide (#7899)
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-09 07:28:43 +04:00
Evan Kranzler
07e1dff10c added an additional subtype verification test 2021-07-08 18:46:42 -04:00
Evan Kranzler
d3640103b2 updated legendary token generators 2021-07-08 07:56:35 -04:00
Evan Kranzler
dff5b201d5 [AFR] Implemented The Book of Exalted Deeds 2021-07-07 19:39:00 -04:00
Evan Kranzler
1f93a6cd6f [AFR] Implemented Power of Persuasion 2021-07-07 19:10:03 -04:00
Evan Kranzler
d846f6113a [AFR] Implemented Keen-Eared Sentry 2021-07-07 18:52:55 -04:00
Evan Kranzler
7bc4c42976 [AFR] Implemented Grand Master of Flowers 2021-07-07 17:49:35 -04:00
Evan Kranzler
ace3a8be86 [AFR] Implemented Minsc, Beloved Ranger 2021-07-07 17:26:29 -04:00
Daniel Bomar
7f68cef222
[AFR] Implemented Leather Armor 2021-07-07 13:53:44 -05:00
Daniel Bomar
3bf876b520
[AFR] Implemented Instrument of the Bards 2021-07-07 11:09:10 -05:00
Evan Kranzler
b0e075b738 [AFR] Implemented Hand of Vecna 2021-07-07 09:45:17 -04:00
Oleg Agafonov
07ddad6e48 Game: fixed rare bugs in some cards after rollback or cancel actions:
* Cumulative upkeep cost - fixed that it can lost payed state (cards: Aboroth, Karplusan Minotaur, Psychic Vortex, Sheltering Ancient);
 * Effects - fixed that it can lost selected targets or other settings (cards: Citadel of Pain, Crimson Honor Guard, Curfew, Leveler, Mana Cache, Monsoon, Paradigm Shift, Saprazzan Bailiff);
 * Exile all cards from graveyard ability - fixed that it can lost targets (example: Agent of Erebos);
 * Melee ability - fixed that it can lost targets (example: Adriana, Captain of the Guard).
2021-07-07 16:51:53 +04:00
Evan Kranzler
b4355b8f6e
Added treasure mana check (#7979)
* add treasure mana support to mana code

* [AFR] Implemented Hired Hexblade

* [AFR] Implemented Jaded Sell-Sword

* [AFR] Implemented Forsword Paladin

* added test

* fixed test failure

* another test fix

* completely reworked tracking mana sources
2021-07-06 19:43:32 -04:00
Oleg Agafonov
bb4f36fddf Game: fixed mulligan's copy code (can potentially fix empty hands or loses on game start in rare use cases, e.g. with AI); 2021-07-06 13:58:04 +04:00
Oleg Agafonov
fa8c0259d0 * Chroma ability - added card hints about color amount in permanents cost (example: Outrage Shaman); 2021-07-06 11:39:07 +04:00
Evan Kranzler
5b93f25206 fixed text generation for TapTargetEffect to fit with other effects 2021-07-05 22:09:16 -04:00
Evan Kranzler
cff3c54979 [AFR] Implemented Spike Pit Trap 2021-07-05 17:52:34 -04:00
Evan Kranzler
5b1a38b426 [AFR] Implemented Death-Priest of Myrkul 2021-07-05 16:36:36 -04:00
Evan Kranzler
9fef2a1692 [AFR] Implemented Sylvan Shepherd 2021-07-05 16:19:34 -04:00
Oleg Agafonov
6e26a8d7a6 [MH2] added tokens and images download; 2021-07-05 22:21:03 +04:00
Oleg Agafonov
9624b27b3a * Images: fixed that amass ability uses single Zombie Army token instead different; 2021-07-05 22:21:03 +04:00
Daniel Bomar
364b456ef6
[AFR] Implemented Yuan-Ti Malison 2021-07-05 12:33:09 -05:00
Oleg Agafonov
18db51eb4c Fixed NPE error in Escape ability (#7969); 2021-07-04 22:57:51 +04:00
Evan Kranzler
f8e9be311f [AFR] Implemented Herald of Hadar 2021-07-04 10:24:32 -04:00
Daniel Bomar
fc5e096ebf
[AFR] Fixed Pack Tactics not triggering correctly (#7954) 2021-07-04 10:07:38 -04:00
Oleg Agafonov
27a55529a9 [STX] added tokens and images download; 2021-07-03 23:28:34 +04:00
Oleg Agafonov
6a3f2ff420 * Images: added Commander 2021 tokens; 2021-07-03 22:49:15 +04:00
Evan Kranzler
ec6cb4919f [AFR] Implemented Eccentric Apprentice 2021-07-02 09:09:30 -04:00
Evan Kranzler
4b8a419d28 [AFR] Implemented Treasure Chest 2021-07-02 08:58:48 -04:00
Evan Kranzler
e79e9f1194 [AFR] Implemented The Deck of Many Things 2021-07-02 07:38:09 -04:00
Oleg Agafonov
b929b28e43 * AI: fixed game freezes with Karn Liberated in the game (#7922); 2021-07-02 15:03:06 +04:00
Oleg Agafonov
d9e414db34 Fixed miss counter's copy in some effects; 2021-07-02 14:55:49 +04:00
Evan Kranzler
41cbb7580a [AFR] Implemented Djinni Windseeker 2021-07-01 21:16:03 -04:00
Daniel Bomar
d93bcc12cd
[AFR] Implemented Feign Death 2021-07-01 10:26:50 -05:00
Oleg Agafonov
62d6675be6 AI: fixed that computer can't play commanders (#7955); 2021-07-01 18:21:15 +04:00
Evan Kranzler
d8fdfead8e [AFR] Implemented Gnoll Hunter 2021-07-01 08:49:17 -04:00
Evan Kranzler
2e254d524d [AFR] Implemented Icingdeath, Frost Tyrant 2021-06-30 22:46:58 -04:00
Oleg Agafonov
bbd3f266f0 [AFR] improved flavor words, added support in ETB abilities (#7952, #7808); 2021-06-30 17:47:27 +04:00
Evan Kranzler
74bb1f895c [AFR] Implemented Purple Worm 2021-06-30 09:10:49 -04:00
Evan Kranzler
4f38338fa6 [AFR] Implemented You Come to a River 2021-06-30 09:10:48 -04:00
Oleg Agafonov
a1de8cc85a Refactor: fixed flavor word for ability (related to comments from 6dafb3ad81); 2021-06-30 16:30:39 +04:00
Oleg Agafonov
6dafb3ad81 Refactor: moved flavor word from effects list to ability/mode; 2021-06-30 08:57:06 +04:00
Evan Kranzler
b0214e939a [AFR] Implemented Inspiring Bard 2021-06-29 21:46:36 -04:00
Evan Kranzler
b5ee72b658 fixed an error 2021-06-29 20:38:44 -04:00
Evan Kranzler
48c2633eda [AFR] Implemented Guild Thief 2021-06-29 20:28:34 -04:00
Evan Kranzler
01a30ca8b5 [AFR] Implemented Minion of the Mighty 2021-06-29 20:16:50 -04:00