Commit graph

3010 commits

Author SHA1 Message Date
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
e330ed6c7b Test framework: improves logs in choices errors; 2021-07-21 20:15:47 +04:00
Oleg Agafonov
7ccb390e4d * GUI: added card icon for announced X value (activate ability); 2021-07-19 14:25:51 +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
f2ba76ca75 Tests: fixed miss commands, fixed debug info for permanents on battlefield; 2021-07-17 19:43:05 +04:00
jeffwadsworth
29a4fbc27a - Added another complex layer test to LayerTests unit test 2021-07-16 16:46:42 -05:00
jeffwadsworth
d2f2578cc4 - Added test unit for Ranar the Ever-Watchful 2021-07-15 16:15:58 -05:00
Evan Kranzler
b316a32ab7 [AFR] Implemented The Tarrasque 2021-07-14 17:45:58 -04: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
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
e9482376f1 fixed text failures 2021-07-08 08:27:28 -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
b929b28e43 * AI: fixed game freezes with Karn Liberated in the game (#7922); 2021-07-02 15:03:06 +04:00
Evan Kranzler
6046c4e0d7 [AFR] Implemented Hama Pashar, Ruin Seeker 2021-07-01 18:17:03 -04:00
Oleg Agafonov
62d6675be6 AI: fixed that computer can't play commanders (#7955); 2021-07-01 18:21:15 +04:00
Evan Kranzler
a76d6e8c24 [ARB] fixed Sen Triplets (fixes #7068, fixes #7116) 2021-06-30 22:16:00 -04:00
Evan Kranzler
bb591dd038
[AFR] Implementing dungeon mechanic (ready for review) (#7937)
* added dungeon and dungeon room class

* [AFR] Implemented Tomb of Annihilation

* [AFR] Implemented Shortcut Seeker

* [AFR] Implemented Gloom Stalker

* [AFR] Implemented Nadaar, Selfless Paladin

* added room triggers

* added more venturing code, currently untested

* fixed error

* moved venture into dungeon from player class to game class

* removed unnecessary sourceobject from dungeon

* fixed npe error

* added dungeon completion

* fixed concurrent modification exception

* added logging

* added proper copy methods

* added views

* updated room text generation

* added some missing code

* finished implementing CompletedDungeonCondition

* [AFR] Implemented Ellywick Tumblestrum

* [AFR] Implemented Lost Mine of Phandelver

* added choice dialog for dungeons

* [AFR] Implemented Dungeon of the Mad Mage

* small text fix

* added initial dungeon test

* [AFR] Implemented Cloister Gargoyle

* [AFR] Implemented Dungeon Crawler

* small text change for dungeon rooms

* added more tests

* some simplification to dungeon props

* updated testing helper functions

* added currently failing test for venturing on separate steps and turns

* added tests for dungeon completion

* fixed missing trigger visual and dungeons not persisting through turns

* some text updates

* added rollback test

* added a test for multiple dungeons at once

* added one more condition test
2021-06-29 06:57:43 -04:00
Evan Kranzler
f27f59603c [M21] fixed Hooded Blightfang triggered ability (fixes #7935) 2021-06-24 08:33:40 -04:00
Oleg Agafonov
9a4489b47f * Cast an instant or sorcery spell this turn - fixed rollback error when you cast graveyard spell as first in turn (#7918); 2021-06-23 05:05:51 +04:00
Evan Kranzler
91eb324847 updated ManaSpentToCastWatcher to default watcher list, reworked it to be game scope 2021-06-21 20:26:39 -04:00
Evan Kranzler
157de01445 fixed a test failure 2021-06-18 20:04:50 -04:00
Evan Kranzler
6ca7b06ab9 some reworking of sagas, added tests 2021-06-18 18:27:37 -04:00
Evan Kranzler
7c9b8e5a29 [MH2] added booster generation test 2021-06-17 09:37:59 -04:00
Evan Kranzler
ee0f35a2cd [MH2] fixed Chatterfang, Squirrel General applying to opponent's tokens (fixes #7909) 2021-06-14 08:13:48 -04:00
Evan Kranzler
67a5ca5f89 added tests for sagas 2021-06-13 21:38:54 -04:00
Evan Kranzler
a7e57b8352 fixed test failures 2021-06-10 20:48:31 -04:00
Evan Kranzler
7d07c220b0 fixed while on stack effects of copied spells not discarding when copy has left stack 2021-06-10 18:42:47 -04:00
Evan Kranzler
c8154bf018 [MH2] added test for Garth One-Eye 2021-06-10 18:40:56 -04:00
Evan Kranzler
4232b1e789 [MH2] Implemented Zabaz, the Glimmerwasp 2021-06-07 09:42:34 -04:00
Daniel Bomar
df5bf2fa25
[MH2] Implemented Sanctifier en-Vec (#7893)
* [MH2] Implemented Sanctifier en-Vec

* [MH2] Sanctifier en-Vec - Remove unused filter
2021-06-06 18:38:48 -04:00
Evan Kranzler
4fee736a1f [MH2] reworked Academy Manufactor to match ruling 2021-06-04 21:05:36 -04:00
Daniel Bomar
71ea4a51d6
[MH2] Implemented Academy Manufactor (#7864)
* [MH2] Implemented Academy Manufactor

* [MH2] Implemented Chatterfang, Squirrel General
2021-06-02 21:46:51 -04:00
Oleg Agafonov
6ede79aa1f Tests: added additional test for modern format validation (related to 8d0efaabc9) 2021-05-15 20:34:08 +04:00
Oleg Agafonov
fc219f29a4 Tests: fixed Counterspell in modern format test (related to 8d0efaabc9) 2021-05-15 20:18:13 +04:00
Ingmar Goudt
895430b554 remove the SimpleTriggeredAbility class and rewrite old cards using it 2021-05-13 21:48:58 +02:00
Ingmar Goudt
6eef8f9e0c add assertions for winning and losing the game 2021-05-13 13:19:08 +02:00
Ingmar Goudt
3fc28b3c03 add afr tests 2021-05-12 23:52:23 +02:00
Evan Kranzler
d1f51cae2f [ZNR] fixed Ashaya, Soul of the Wild and Volrath's Shapeshifter interaction (fixes #7812) 2021-05-12 09:41:06 -04:00
Evan Kranzler
f68ed68034 [ZNR] added currently failing test for Ashaya, Soul of the Wild and Volrath's Shapeshifter (#7812) 2021-05-12 09:13:05 -04:00
Evan Kranzler
59f02ad17a [KHM] added test for Crippling Fear (#7815) 2021-05-11 09:03:35 -04:00
Evan Kranzler
8d0efaabc9 ignored now failing test (not sure what to replace it with) 2021-05-07 08:45:20 -04:00
Evan Kranzler
7915e74208 [ICE] fixed Zur's Weirding not allowing players to choose not to pay life (fixes #7793) 2021-05-04 09:31:18 -04:00
Evan Kranzler
970427e23f [ULG] reworked Goblin Welder and added currently failing test (#7672) 2021-05-04 07:35:53 -04:00
Evan Kranzler
0eb539e016 [PLC] fixed Wild Pair and 0 toughness creatures (fixes #7798) 2021-05-03 09:26:39 -04:00
Evan Kranzler
77d792bbaf fixed a test failure 2021-04-30 08:32:26 -04:00
Ingmar Goudt
251e141b50 test for issue #7772 2021-04-26 22:49:48 +02:00