Commit graph

4130 commits

Author SHA1 Message Date
Steven Knipe
bc365c25c9 Fix CometStellarPupTest ability text 2025-06-21 23:28:55 -07:00
ssk97
a935045e1f
More targets (#13776) 2025-06-21 06:08:51 -07:00
ssk97
5db4beac6c
Adding targets (Part 3/3) (#13769)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards S-Z.
Add `spellCast` value to `CastSpellPaidBySourceTriggeredAbility`.
2025-06-20 18:58:13 -07:00
theelk801
d0226dc0ea fix test failures 2025-06-19 11:34:56 -04:00
ssk97
219cc53cf4
Adding targets (Part 2/3) (#13765)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards H-R.
fix EffectKeyValue text, NestOfScarabs
Add X value to effects for CycleTriggeredAbility, use with ValorsFlagship and SharkTyphoon, add test
2025-06-18 21:14:16 -07:00
Oleg Agafonov
ffe902d25e
AI: purged whole targeting code and replaced with simple and shared logic (part of #13638) (#13766)
- refactor: removed outdated/unused code from AI, battlefield score, targeting, etc;
- ai: removed all targeting and filters related logic from ComputerPlayer;
- ai: improved targeting with shared and simple logic due effect's outcome and possible targets priority;
- ai: improved get amount selection (now AI will not choose big and useless values);
- ai: improved spell selection on free cast (now AI will try to cast spells with valid targets only);
- tests: improved result table with first bad dialog info for fast access (part of #13638);
2025-06-18 21:03:58 +04:00
ssk97
1fe0d92c86
Attacks player with creatures triggered ability, Implement [BLC] Echoing Assault (#13764)
Create AttacksPlayerWithCreaturesTriggeredAbility, and tests for that ability via Soaring Lightbringer.
Implement Echoing Assault.
2025-06-18 05:54:36 -07:00
ssk97
9ce5dd212a
Adding targets (Part 1/3) (#13680)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards A-G.
Creates SourceDealsNoncombatDamageToOpponentTriggeredAbility and DefineByTriggerTargetAdjuster
2025-06-17 22:35:49 -07:00
Oleg Agafonov
d893d52190 tests: improved testable dialogs (added source code ref in result table for better IDE navigation, part of #13643, #13638); 2025-06-15 14:08:43 +04:00
Oleg Agafonov
4f8eb30e4c tests: removed outdated/unused code 2025-06-15 11:24:09 +04:00
Oleg Agafonov
4732fdf527 tests: improved testable dialogs (added assert messages in result table, added single dialog debugging, part of #13643, #13638); 2025-06-15 11:02:50 +04:00
xenohedron
7a44ee2a97 fix #12974 (zcc check in ReturnToBattlefieldUnderOwnerControlAttachedEffect)
add test
2025-06-14 21:20:17 -04:00
Oleg Agafonov
a98f72649a tests: improved testable dialogs with better/colored logs and asserts (part of #13643, #13638); 2025-06-14 21:10:32 +04:00
Oleg Agafonov
361c320890 tests: added automated tests to run all possible dialogs under AI (WIP, part of #13643, improved testable dialogs from #13638); 2025-06-14 16:20:24 +04:00
Oleg Agafonov
6ad2cdaa78 AI: improved stability:
- fixed game errors with source related filters (related to #13713);
- fixed game freeze in hand's cards selection (related to #13290);
- fixed game freeze in target amount selection with X=0 (related to #13290);
2025-06-14 16:03:44 +04:00
xenohedron
24f030fa71
fix #13523 (trigger on becomes the target of recast spell) (#13740)
move findTargetingStackObject from CardUtil to Game, so saved data can be cleared with short living lki

add test cases
2025-06-14 00:09:40 -04:00
Oleg Agafonov
849aea5946 tests: added fuzzy testing (disabled by default, added random phased out permanents, part of #13748); 2025-06-13 23:09:05 +04:00
Evan Kranzler
c7f2263ddb
Update rules for Sagas (#13728)
* update saga rules

* update test

* update test
2025-06-07 21:02:26 -04:00
Susucre
8495d6a74e fix and test [FIN] Zack Fair 2025-06-07 20:09:47 +02:00
theelk801
2bb26521c5 fix test failure 2025-06-04 16:07:39 -04:00
theelk801
5fcd99ba44 fix test failures 2025-06-04 11:23:10 -04:00
Susucre
10695d555e fixes Phelia, Exuberant Shepherd return trigger
fixes #13722
2025-06-03 20:50:07 +02:00
xenohedron
e1d082d776 fix and test Combo Attack 2025-06-02 23:26:38 -04:00
theelk801
2ab7381b05 fix test failure 2025-06-02 17:33:30 -04:00
theelk801
c7006017ca [FIC] Implement Lifestream's Blessing 2025-06-02 09:56:43 -04:00
theelk801
b82d45c19e fix test failure 2025-06-01 21:41:49 -04:00
Susucre
1d7ef1ed03 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-01 23:06:15 +02:00
Susucre
a445142d39 fix and test Font of Agonies
fixes #13717
2025-06-01 22:52:31 +02:00
Steven Knipe
20db2f0602 add SigardasSplendorTest, other test improvements 2025-06-01 13:27:33 -07:00
Susucre
cfd51d7dce
refactor: add FilterSource to match TargetSource (#13703)
Small fix of enabling TargetSource to choose/target a Command Object
2025-06-01 15:52:51 +02:00
Oleg Agafonov
8d7bd60061 Player under control - fixed that it doesn't hide opponent's hand after control lost (part of #13353); 2025-06-01 10:21:47 +04:00
Oleg Agafonov
71b0613355 tests: added verify check for wrong target tags usage, improved work with tagged targets (related to 8b2a81cb42) 2025-06-01 08:54:24 +04:00
ssk97
3223d99b2a
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-05-31 20:36:15 -07:00
Steven Knipe
8b29853e4c Fix Vault 13 test and card once zcc fix is merged 2025-05-31 19:29:21 -07:00
Evan Kranzler
a7dcd6988f
[FIC] Implement Locke, Treasure Hunter (#13695) 2025-05-31 13:42:39 -04:00
Susucre
2034b3fe59 cleanup CantBeCounteredControlledEffect 2025-05-31 17:43:25 +02:00
Susucre
6618f1d163 fix newly added test 2025-05-31 14:52:39 +02:00
Susucre
5c25beebbf add another test batch for Saga zcc-related 2025-05-31 14:50:34 +02:00
Susucre
7cdf068dc5 add more tests for zcc-related Sagas 2025-05-31 14:12:13 +02:00
Oleg Agafonov
f2826cc676
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-05-31 10:39:23 +04:00
Evan Kranzler
9e2a1a59e0
[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-05-30 21:28:11 -04:00
Susucre
2bbc2cba00 add TODO to new @Ignore 2025-05-31 03:02:02 +02:00
Susucre
8336bedf83 add even more saga tests
enable the two ignored after #11619
2025-05-31 00:10:09 +02:00
Susucre
9852f1b3d4 add more saga tests
enable the two ignored after #11619
2025-05-30 23:01:12 +02:00
Susucre
0fd2a9303f test The Phasing of Zhalfir ; small tweak to TestPlayer to not count phased out permanents 2025-05-30 22:08:46 +02:00
Susucre
8262a43a71 add tests for Urza's Saga and The Triumph of Anax 2025-05-30 21:58:59 +02:00
Susucre
d57b99d6e4 implement [MIR] Shadowbane 2025-05-30 20:31:36 +02:00
Susucre
b13efab236 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-05-30 19:23:41 +02:00
Susucre
ba395c8385
implement [FIC] Edgar, Master Machinist (#13676) 2025-05-30 15:11:43 +02:00
Susucre
0ac37617d1
implement [FIN] Sorceress's Schemes (#13694) ; small refactor of TargerCard 2025-05-30 14:51:31 +02:00