Commit graph

2436 commits

Author SHA1 Message Date
theelk801
8ff2a59981 [EOE] Implement Sami, Ship's Engineer 2025-06-20 22:27:00 -04:00
theelk801
3827d8285c [EOE] Implement Tezzeret, Cruel Captain 2025-06-20 09:25:52 -04:00
theelk801
9744819551 finish removing all filter constructors from TargetCreaturePermanent 2025-06-20 08:29:54 -04:00
theelk801
3e65021150 partially refactor TargetCreaturePermanent constructors 2025-06-20 08:29:53 -04:00
theelk801
b19d8fea76 remove filter constructors from TargetControlledCreaturePermanent 2025-06-19 11:10:53 -04:00
theelk801
96b39c1210 replace some instances of EntersBattlefieldControlledTriggeredAbility with EntersBattlefieldAllTriggeredAbility 2025-06-19 11:10:14 -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
theelk801
58b5bb76f9 various text fixes 2025-06-13 13:44:33 -04:00
padfoothelix
4bc30b4b8e
[WHO] Implement The Curse of Fenric (#13718)
---------

Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
2025-06-07 23:10:34 -04:00
Evan Kranzler
0e179ccc1f
Refactor SourceHasCounterCondition to be an IntCompareCondition (#13724)
* refactor SourceHasCounterCondition to be an IntCompareCondition

* add comment for arguments
2025-06-07 21:03:21 -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
theelk801
d05d3bbc97 refactor some instances of ConditionalInterveningIfTriggeredAbility 2025-06-04 14:56:12 -04:00
Steven Knipe
bccbb2ee8e Rename DamagedPlayerControlsTargetAdjuster to ThatPlayerControlsTargetAdjuster 2025-06-03 20:09:21 -07:00
theelk801
02b649f180 [BLC] various text fixes 2025-06-02 16:52:09 -04:00
theelk801
fe4d6d3197 [BLB] various text fixes 2025-06-02 16:30:11 -04:00
theelk801
5e83c3c3f0 various text fixes 2025-06-01 17:10:15 -04:00
Steven Knipe
4237d0729c Shared zcc init code 2025-06-01 13:01:20 -07:00
theelk801
1ab9eeaad8 [J25] various text fixes 2025-06-01 10:29:05 -04:00
theelk801
534038f2ba [J25] Implement Psemilla, Meletian Poet 2025-06-01 09:30:42 -04: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
b8a8d92b14 deck: updated The Paper Cube, fixed legacy/vintage (part of #13705) 2025-06-01 00:06:18 +04:00
Oleg Agafonov
eba4d0276d deck: updated Legacy Cube to latest version, removed outdated cubes, improved last update info (part of #13705) 2025-05-31 23:11:44 +04:00
Oleg Agafonov
3d45a24959
Draft Cubes rework (better cube from deck, dynamic data, better errors processing, actual MTGO Vintage Cube) (#13705)
- GUI, table: added dynamic data support for Cube Types (no more depends on server's config names, part of #12050);
- server: replace multiple MTGO Vintage Cubes by single cube, updated to April 2025 (part of #12050);
- server: fixed table freeze on starting error (related to #11285);
- GUI, table: added better support of Cube From Deck (client/server side errors, additional info about loaded cards, etc);
2025-05-31 20:15:31 +04: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
theelk801
a61851db09 [FCA] a few text fixes 2025-05-30 22:20:13 -04:00
theelk801
9ef2aac469 [FIN] various text fixes 2025-05-30 22:20:12 -04:00
theelk801
fe9e7d3e60 [FIN] Implement The Wandering Minstrel 2025-05-29 11:37:16 -04:00
xenohedron
77830dd24a
Merge pull request #13683 from magefree/from-card
Update effects that find a permanent from a card put to battlefield
2025-05-29 01:00:56 -04:00
Evan Kranzler
abb88e9527
[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-05-27 22:01:53 -04:00
Evan Kranzler
136988de29
[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-05-27 21:56:23 -04:00
Evan Kranzler
e1f4e9db59
[FIN] Implement Ancient Adamantoise (#13670)
* [FIN] Implement Ancient Adamantoise

* change effect type

* add test
2025-05-27 21:56:07 -04:00
theelk801
ecec7e4476 [FIN] Implement Choco Comet 2025-05-27 17:05:08 -04:00
theelk801
eeb96d1411 [FIN] Implement Rufus Shinra 2025-05-27 15:20:44 -04:00
theelk801
b5eb09e31a [FIN] Implement Gysahl Greens 2025-05-27 08:25:25 -04:00
theelk801
fd29d091ea [FIN] Implement The Final Days 2025-05-26 19:18:20 -04:00
xenohedron
e3b82def84 update cards to use new method 2025-05-26 17:20:02 -04:00
theelk801
501b7e882b fix additional test failures 2025-05-23 18:30:23 -04:00
theelk801
ddb846eda9 [FIN] Implement Quina, Qu Gourmet 2025-05-19 14:08:30 -04: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
94e579543c [FIN] Implement Instant Ramen 2025-05-16 14:24:55 -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
c0a1b64266 [FIC] Implement Wrecking Ball Arm 2025-05-15 19:15:04 -04:00
theelk801
181a3306a6 [FIN] Implement Retrieve the Esper 2025-05-14 21:28:10 -04:00
theelk801
6cc717470a [FIN] Implement Sephiroth, Fabled SOLDIER / Sephiroth, One-Winged Angel 2025-05-14 15:30:56 -04:00
theelk801
05ded6d1eb [FIN] Implement Circle of Power 2025-05-14 10:37:30 -04:00
theelk801
0100ba31f2 [FIC] Implement Hermes, Overseer of Elpis 2025-05-13 10:37:31 -04:00
theelk801
16373fda33 [FIC] Implement Summon: Good King Mog XII 2025-05-13 08:37:17 -04:00
theelk801
b26f224ee0 [FIC] Implement Setzer, Wandering Gambler 2025-05-13 08:19:39 -04:00