Commit graph

4108 commits

Author SHA1 Message Date
xenohedron
bf9bd5fee7 fix and test Combo Attack 2025-06-10 19:45:04 -07:00
theelk801
d77acdcb44 fix test failure 2025-06-10 19:45:04 -07:00
theelk801
693365fd6f [FIC] Implement Lifestream's Blessing 2025-06-10 19:45:04 -07:00
theelk801
45ebf39e7a fix test failure 2025-06-10 19:45:04 -07:00
Susucre
15af9de9b0 add test for Betor, Ancestor's Voice
Attempting to replicate #13716 bug without result.
Assuming there was a counter replacement effect in place missing in the bug report.
2025-06-10 19:45:04 -07:00
Susucre
b6e63b54f2 fix and test Font of Agonies
fixes #13717
2025-06-10 19:45:04 -07:00
Steven Knipe
f0ebf1c2ba add SigardasSplendorTest, other test improvements 2025-06-10 19:45:04 -07:00
Susucre
e26d0c1bb9 refactor: add FilterSource to match TargetSource (#13703)
Small fix of enabling TargetSource to choose/target a Command Object
2025-06-10 19:45:04 -07:00
Oleg Agafonov
96a8efd2a6 Player under control - fixed that it doesn't hide opponent's hand after control lost (part of #13353); 2025-06-10 19:45:04 -07:00
Oleg Agafonov
26aa55d05d tests: added verify check for wrong target tags usage, improved work with tagged targets (related to 8b2a81cb42) 2025-06-10 19:45:04 -07:00
ssk97
3ff70a9696 refactor: remove notTarget targets from abilities (#13651)
Adds OneShotNonTargetEffect and PutCountersTargetCost
Fixes the target timing of spells/abilities, as non-targets should be chosen on resolution.
2025-06-10 19:45:04 -07:00
Steven Knipe
eab10c4933 Fix Vault 13 test and card once zcc fix is merged 2025-06-10 19:45:04 -07:00
Evan Kranzler
ecfa608295 [FIC] Implement Locke, Treasure Hunter (#13695) 2025-06-10 19:45:03 -07:00
Susucre
2475537b5e cleanup CantBeCounteredControlledEffect 2025-06-10 19:45:03 -07:00
Susucre
09670ccc55 fix newly added test 2025-06-10 19:45:03 -07:00
Susucre
8d829d0523 add another test batch for Saga zcc-related 2025-06-10 19:45:03 -07:00
Susucre
8eb5b9460b add more tests for zcc-related Sagas 2025-06-10 19:45:03 -07:00
Oleg Agafonov
f5bcf7674d GUI, table: added drafts with single multiplayer and multiple 1vs1 games support (#13701)
- new tourney's single game mode allow to play tourneys/drafts with all players in one game without multiple rounds;
- it's allow to setup classic drafts with 1 vs 1 games and multiple rounds
- added AI opponents supported including draft bots from a public servers;
2025-06-10 19:45:03 -07:00
Evan Kranzler
40d24869a8 [FIC] Implement G'raha Tia, Scion Reborn, rework DoIfCostPaid and "do only once" effects (#13660)
* rework effects with DoIfCostPaid and "do this only once each turn"

* [FIC] Implement G'raha Tia, Scion Reborn

* [FIC] Implement Emet Selch of the Third Seat

* rework Emet-Selch

* add test

* add static methods to handle whether ability was used this turn
2025-06-10 19:45:03 -07:00
Susucre
71c4be03fb add TODO to new @Ignore 2025-06-10 19:45:03 -07:00
Susucre
e628cd0dc3 add even more saga tests
enable the two ignored after #11619
2025-06-10 19:45:02 -07:00
Susucre
a609027e2f add more saga tests
enable the two ignored after #11619
2025-06-10 19:45:02 -07:00
Susucre
09d01d43f6 test The Phasing of Zhalfir ; small tweak to TestPlayer to not count phased out permanents 2025-06-10 19:45:02 -07:00
Susucre
ed2cbb5a80 add tests for Urza's Saga and The Triumph of Anax 2025-06-10 19:45:02 -07:00
Susucre
cf981f9f1e implement [MIR] Shadowbane 2025-06-10 19:45:02 -07:00
Susucre
a6ca052106 refactor one-use prevention effect for a chosen source
fixes a few bugs along the way:

[[Pilgrim and Justice]] & [[Pilgrim of Virue]] were incorrectly adding a "to you" to their damage clause.
[[Ajani's Aid]] was improperly a one-use prevention effect.

[[Story Circle]] and [[Prismatic Circle]] have not been refactor as it is not currently possible to have a proper filter for them. Would require a FilterSource with a 4-argument match most likely.
2025-06-10 19:45:02 -07:00
Susucre
c273fe94bd implement [FIC] Edgar, Master Machinist (#13676) 2025-06-10 19:45:02 -07:00
Susucre
dcf785ed12 implement [FIN] Sorceress's Schemes (#13694) ; small refactor of TargerCard 2025-06-10 19:45:02 -07:00
xenohedron
15a4a26404 fix and test Stern Judge 2025-06-10 19:45:01 -07:00
Evan Kranzler
56e9986b06 [FIN] Implement Gogo, Master of Mimicry (#13686)
* [FIN] Implement Gogo, Master of Mimicry

* add test

* fix text

* move abstract method definition to interface where it belongs
2025-06-10 19:44:15 -07:00
Evan Kranzler
70b1f23248 [FIN] Implement Edgar, King of Figaro, rework coin flips (#13672)
* add method for multiple coin flips

* [FIN] Implement Edgar, King of Figaro

* add extra note

* update coin flip logic

* add test
2025-06-10 19:44:15 -07:00
Evan Kranzler
bddd983e0a [FIN] Implement Ancient Adamantoise (#13670)
* [FIN] Implement Ancient Adamantoise

* change effect type

* add test
2025-06-10 19:44:15 -07:00
theelk801
3a31ecf464 [FIN] Implement Memories Returning 2025-06-10 19:44:13 -07:00
Susucre
0b707fab3a refactor and test 'greatest [quality] among [permanent filter]' (#13666) 2025-06-10 19:44:11 -07:00
Susucre
c23788f006 refactor and test 'Scry X' effects
Fixes #13667
2025-06-10 19:44:11 -07:00
Susucre
380e92771a fix split cards interaction with Feather, the Redeemed and the like
Fixes #12353
Fixes #13665
2025-06-10 19:44:11 -07:00
Oleg Agafonov
e320bf241c GUI, game: added source info in "choose number/amount" dialogs, added auto-choose for single possible value (part of #13638); 2025-05-17 21:18:45 +04:00
theelk801
748c428202 fix test failures 2025-05-16 15:01:30 -04:00
Susucre
a9af84f533
implement [FIN] Vivi Ornitier ; limit mana computation for "only once per turn" abilities (#13639)
fixes #10930
2025-05-16 19:45:01 +02:00
Oleg Agafonov
66db821437 refactor: combined announceX methods in one, improved X message and selection for AI (part of #10330) 2025-05-16 19:34:57 +04:00
Oleg Agafonov
133e4fe425
other: reworked target selection: (#13638)
- WIP: AI and multi targets, human and X=0 use cases, human and impossible targets use cases;
- improved stability and shared logic (related to #13606, #11134, #11666, continue from a53eb66b58, close #13617, close #13613);
- improved test logs and debug info to show more target info on errors;
- improved test framework to support multiple addTarget calls;
- improved test framework to find bad commands order for targets (related to #11666);
- fixed game freezes on auto-choice usages with disconnected or under control players (related to #11285);
- gui, game: fixed that player doesn't mark avatar as selected/green in "up to" targeting;
- gui, game: fixed small font in some popup messages on big screens (related to #969);
- gui, game: added min targets info for target selection dialog;
- for devs: added new cheat option to call and test any game dialog (define own dialogs, targets, etc in HumanDialogsTester);
- for devs: now tests require complete an any or up to target selection by addTarget + TestPlayer.TARGET_SKIP or setChoice + TestPlayer.CHOICE_SKIP (if not all max/possible targets used);
- for devs: added detail targets info for activate/trigger/cast, can be useful to debug unit tests, auto-choose or AI (see DebugUtil.GAME_SHOW_CHOOSE_TARGET_LOGS)
2025-05-16 13:55:54 +04:00
theelk801
1a62ea36bb [FIN] Implement Zanarkand, Ancient Metropolis 2025-05-11 11:45:42 -04:00
Susucre
826830b905 Implement [FIC] Hildibrand Manderville 2025-05-09 18:40:10 +02:00
Evan Kranzler
5a7d6805e0
[WHO] Implement Barbara Wright (#13602)
* [WHO] Implement Barbara Wright

* add test

* add more tests

* update reminder text
2025-05-08 12:38:10 -04:00
Susucre
f90350c0c5 Implement [40K] Lucius the Eternal 2025-05-07 22:31:10 +02:00
Oleg Agafonov
a53eb66b58 other: reworked target selection (now it use same logic and methods in all places), fixed AI and selection freezes in some use cases (related to #13606, #11285) 2025-05-07 17:34:36 +04:00
Oleg Agafonov
00dc6f4742 refactor: removed useless getNumberOfTargets from Target (replaced with getMinNumberOfTargets) 2025-05-07 02:55:02 +04:00
Evan Kranzler
264eb58644
Rework cards which exile cards and add suspend to them (Ready for review) (#13600)
* rework effects which exile cards and give suspend

* fix test failure

* remove extra zone change

* [WHO] Implement The Wedding of River Song

* [WHO] Implement The Eleventh Doctor

* [WHO] Implement The Parting of the Ways
2025-05-06 17:49:43 -04:00
Susucre
507991b9e2
Implement [DSK] Valgavoth, Terror Eater (#13593) 2025-05-05 20:37:57 +02:00
Susucre
7cbd396e39 fix and test [C21] Incarnation Technique
Incarnation Technique was not processing trigger properly inbetween the mill and return.

part of #13601
2025-05-05 20:04:04 +02:00