Commit graph

2911 commits

Author SHA1 Message Date
Evan Kranzler
8fe0467893 reworked mana text generation to fit canonical symbol order 2021-08-23 18:32:21 -04:00
Ingmar Goudt
e10da89463 test for #7912 2021-08-22 14:35:17 +02:00
Ingmar Goudt
271f7b812f fix #8097,
the sacrifice target cost was optional, but SacrificeCost.canPay first checks if there are valid targets. In this scenario there were none, but the spell should still be playable
2021-08-22 12:01:10 +02:00
Oleg Agafonov
7dcdc12c0f * Target permanent or suspended card - added AI support, fixed rollback errors in AI games (example: Shivan Sand-Mage, see #7896); 2021-08-21 17:19:45 +04:00
Oleg Agafonov
e9c68d2a5c Test framework improves (related to #7896):
* added real time command to check card's counters (example: suspended cards with Time counters, see checkCardCounters);
* added target type support: TargetPermanentOrSuspendedCard;
* improves error logs for miss modes and unsupported target types;
2021-08-21 15:02:42 +04:00
Oleg Agafonov
9fa487e60a * Suspend ability - fixed that suspend can be activated from opponent's hand; 2021-08-20 15:40:42 +04:00
Oleg Agafonov
fb4065ba66 Little fixes 2021-08-20 09:38:16 +04:00
Oleg Agafonov
b9db36eb22 Tests: improved performance 2021-08-13 09:17:33 +04:00
Oleg Agafonov
a6a02b369f Tests: added test for Intet, the Dreamer and split cards; 2021-08-12 14:16:29 +04:00
Oleg Agafonov
9f882824a0 * Gain ability effect: fixed rollback error with AI games and too many cards (related to d202278ccd); 2021-08-12 00:08:08 +04:00
Evan Kranzler
b9c55a984d [MH2] added collation info 2021-08-07 20:40:46 -04:00
Evan Kranzler
bcd000ac99 [J21] Implemented Boneyard Aberration 2021-08-06 21:05:20 -04:00
Evan Kranzler
b45514ecfb [J21] Implemented Wingsteed Trainer 2021-08-06 17:35:43 -04:00
Evan Kranzler
9ba9243db5 added test for seek mechanic 2021-08-06 17:35:43 -04:00
Ingmar Goudt
3a6cdd2615 test for #8008 2021-08-06 23:26:24 +02:00
Evan Kranzler
f5687acfad [J21] Implemented Faceless Agent 2021-08-06 08:52:31 -04:00
Oleg Agafonov
53aababd44 * Additional costs - added support of X costs on free cast (example: Kicker X, see Thieving Skydiver and Etali, Primal Storm combo);
* As an additional cost discard X cards - fixed wrong text (example: Channeled Force, Firestorm);
2021-08-05 16:18:04 +04:00
Oleg Agafonov
d62cf17422 * Twinning Glass - removed unnecessary confirm dialog, added additional tests (#4721); 2021-08-05 15:37:07 +04:00
Oleg Agafonov
7a3521b02b Tests: added serialization test for all cards (run manually); 2021-08-04 22:40:24 +04:00
Oleg Agafonov
a5b41ea920 * Marshland Bloodcaster - fixed game freeze on usage;
* Kentaro, the Smiling Cat - fixed game freeze on usage;
2021-08-02 17:40:35 +04:00
jeffwadsworth
237e8344b3 - added test for Kardur, Doomscourge and Kithkin Mourncaller. it was quite useful find another issue that was fixed. removed sim() check from Abandoned Sarcophagus. 2021-07-31 21:27:58 -05:00
Oleg Agafonov
810e1babd5 Tests: added booster stats collection script (see #8081); 2021-07-31 19:13:00 +04:00
Evan Kranzler
1baf523522 add boolean int method for setChoice 2021-07-31 08:11:57 -04:00
Oleg Agafonov
530cd627cc * Copy spell - improved support for some cards and abilities (#8074); 2021-07-31 15:48:57 +04:00
Oleg Agafonov
6e0184a38d Real fix for 4125d1eb46, updated outdated comments. 2021-07-31 09:47:29 +04:00
Evan Kranzler
0136b986e4 added tests for mana from copied spells, currently fails for scepter plus drain (related to #8074) 2021-07-30 22:04:15 -04:00
Evan Kranzler
4125d1eb46 fixed tapped for mana events not working for sacrificed tokens 2021-07-30 21:54:00 -04:00
Oleg Agafonov
dc09f279ed Fixed NPE error in card icons 2021-07-29 12:27:23 +04:00
Evan Kranzler
70b040473b updated ManaSpentToCastCount, added tests 2021-07-27 20:53:43 -04:00
Oleg Agafonov
c4dc83dec9 [AFR] fixed Bruenor Battlehammer - correct tests, getPlayable support, additional info in choose pay dialog; 2021-07-27 18:30:24 +04:00
Evan Kranzler
806eba9691 [AFR] fixed Bruenor Battlehammer (fixes #8055) 2021-07-27 09:59:57 -04:00
Evan Kranzler
960146d554 added boolean set choice 2021-07-27 08:58:27 -04:00
Ingmar Goudt
65211b62fe Fix Extraplanar Lens, solve issue #8050 2021-07-27 00:08:48 +02:00
Oleg Agafonov
24847c1fa7 Tests: added name test for +2 mace; 2021-07-24 15:50:18 +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
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