Commit graph

12518 commits

Author SHA1 Message Date
Oleg Agafonov
fc159728c7 version bump 2025-02-01 20:16:27 +04:00
Oleg Agafonov
d75792312e tests: added runtime check for wrong usage of inform messages inside layer effects (disabled by default, related to #13259, #11285) 2025-02-01 12:53:09 +04:00
theelk801
6670ceb2ae [DFT] Implement Rangers' Aetherhive 2025-01-31 14:04:19 -05:00
theelk801
293ddd7016 [DFT] rework max speed ability 2025-01-31 13:56:08 -05:00
theelk801
436a0fd2ed [DFT] Implement Gastal Thrillroller 2025-01-31 10:27:46 -05:00
theelk801
660bc0d6b4 [DFT] Implement Howler's Heavy 2025-01-31 10:27:46 -05:00
theelk801
3f3dfa83f1 [DFT] Implement Deathless Pilot 2025-01-31 10:27:46 -05:00
Oleg Agafonov
9d8f87b139 deck: added boosters for Commander Masters (CMM) (related to #13160): 2025-01-31 17:32:41 +04:00
Grath
4dbce1132c Fix typo in method name. 2025-01-30 13:33:06 -05:00
Oleg Agafonov
36309206a2 Create copy effects - fixed that it can't copy second side of the modal double-faced card (close #11307, close #13269); 2025-01-29 00:51:34 +04:00
Oleg Agafonov
13adabd169 deck: added boosters for some sets and other (related to #13160):
* added boosters to Innistrad: Double Feature (DBL);
* added boosters to 30th Anniversary Edition (30A);
* added Chaos Orb reprint to 30A;
* fixed wrong card art styles in ZNE;
2025-01-28 01:18:58 +04:00
Oleg Agafonov
c61a206b56 deck: added booster and reprints from Fallout (PIP), disabled booster from Summer Magic (related to #13160) 2025-01-27 10:46:19 +04:00
theelk801
86c4b85973 [DFT] Implement Draconautics Engineer 2025-01-26 20:05:47 -05:00
Oleg Agafonov
d9cb196e2c refactor: added helper methods for default booster settings (see enableDraftBooster, enablePlayOrArenaBooster) 2025-01-27 00:15:44 +04:00
Oleg Agafonov
49b0568143 refactor: added shared code to hide mutate cards 2025-01-25 20:16:27 +04:00
Oleg Agafonov
de54bd0e1a refactor: improved card graphic settings in set files 2025-01-25 20:16:26 +04:00
Oleg Agafonov
1c8986c750 deck: deleted outdated promo sets (#13221), fixed outdated names for some old sets (part 4) 2025-01-25 20:16:26 +04:00
Oleg Agafonov
de19bd56cb refactor: fixed copy constructor in some dynamic values 2025-01-25 01:11:35 +04:00
Grath
7bfb0d2dec [DRC] Implement Prophet of the Scarab
Also adds a DynamicValue that finds the largest of multiple DynamicValues.
2025-01-24 15:47:17 -05:00
Grath
9172a9eba8 [DRC] Implement On Wings of Gold. 2025-01-24 14:23:10 -05:00
theelk801
334655014d [DFT] Implement Country Roads 2025-01-24 12:38:08 -05:00
theelk801
4b5bf3e1de [DFT] Implement Cloudspire Captain 2025-01-24 12:25:50 -05:00
theelk801
59c1a32697 [DFT] Implement Streaking Oilgorger 2025-01-23 23:07:34 -05:00
PurpleCrowbar
514a8004e5 Update Secret Lair Drop 2025-01-24 00:22:53 +00:00
theelk801
5738f582ca [DFT] Implement Prowcatcher Specialist 2025-01-23 11:51:53 -05:00
Oleg Agafonov
e6ae7e9114 refactor: fixed wrong copy code of some fields 2025-01-22 19:35:43 +04:00
Oleg Agafonov
3f79ffa21a refactor: improved cards hints support for combined triggers like OrTriggeredAbility 2025-01-22 19:06:05 +04:00
PurpleCrowbar
3e21e3fb52 Add DSC token images 2025-01-20 01:41:28 +00:00
Marco Romano
0bcf5f9e03
[DSK] Implement Unable to Scream (#13234)
* Introduced LoseAllAbilitiesAttachedEffect

* Added unit tests for Unable to Scream
2025-01-19 16:09:57 -05:00
PurpleCrowbar
e399e233d7 [DSC] Implement Rendmaw, Creaking Nest 2025-01-18 01:30:37 +00:00
PurpleCrowbar
10a25e3f21 Add BLC token images 2025-01-17 21:17:45 +00:00
PurpleCrowbar
1e9c171441 [BLC] Implement Fisher's Talent 2025-01-17 18:58:00 +00:00
Oleg Agafonov
34af53879a Do if cost pay improved:
* added additional hint to the optional pay dialog, so user can split it and remember for auto-answer (see withChooseHint);
* Mana Vault - improved UX, now user can hide an untap cost dialog for already untapped permanent (use right click on buttons, #2656);
2025-01-16 14:14:16 +04:00
Oleg Agafonov
c82511f96f tests: added more strictly checks for choice commands order, fixed wrong commands in old tests (related to #12044); 2025-01-16 08:14:28 +04:00
Cameron Merkel
5d4112c45d
Awakened Skyclave & Grond, The Gatebreaker - fixed that it doesn’t give a land type (#13229) 2025-01-15 18:32:00 +04:00
Marco Romano
b58fbbdd84
[DSK] Implement Acrobatic Cheerleader and per-game trigger limits (#13232) 2025-01-15 18:28:30 +04:00
Oleg Agafonov
1f1d1088a1 Turn under control reworked:
- game: fixed game freezes when computer try to take control over another computer or human (added game logs, related to #12878);
 - cheats: improved take and give control commands, now you can give control under yourself to another player;
 - cheats: improved take and give control commands, now you can return control to computer in the same priority;
 - cheats: deleted useless and unused command to activate opponent's ability;
2025-01-11 22:21:58 +04:00
Oleg Agafonov
a5c354f960 You may play an additional land - added card hint to all lands about played count and max limit (#13216) 2025-01-10 22:04:21 +04:00
Oleg Agafonov
0505f5159e Turn under control reworked:
- game: added support when a human is take control over a computer player (related to #12878);
 - game: fixed game freezes while controlling player leaves/disconnect on active priority/choose of another player;
2025-01-10 20:20:11 +04:00
xenohedron
9c5c394c75
refactor: TargetCreatureOrPlayer inheritance (#13199)
* update TargetCreatureOrPlayer to be a subclass of TargetPermanentOrPlayer

closes #11161

* fix usages
2025-01-08 22:47:36 -05:00
Oleg Agafonov
5626c5f932 cheats: added default commands to take and remove control over another player (related to #12878) 2025-01-07 19:47:25 +04:00
Oleg Agafonov
c076f4925f Turn under control reworked:
- game: added support for human games (cards like Emrakul, the Promised End, #12878);
 - game: added support of 720.1. to reset control in the turn beginning instead cleanup step (related to #12115);
 - game: added game logs for priorities in cleanup step;
 - game: fixed game freezes and wrong skip settings usages (related to #12878);
 - gui: added playable and choose-able marks for controlling player's cards and permanents, including switched hands;
 - gui: added controlling player name in all choice dialogs;
 - info: control of computer players is it not yet supported;
2025-01-07 12:38:01 +04:00
Oleg Agafonov
75d241d541 GUI, game: improved priority pass on non-empty mana pool (no more confirm dialogs on active "don't lose unspent mana" and other effects, close #11717) 2025-01-06 03:33:06 +04:00
jackd149
fd4b82696b
[DSK] Implement Kaito, Bane of Nightmares (#13187) 2025-01-02 20:03:51 -05:00
Cameron Merkel
48117b9620
[DSC] Implement Phenomenon Investigators (#13184) 2025-01-02 20:03:35 -05:00
Oleg Agafonov
7a1d22d459 merge fix 2024-12-31 22:33:10 +04:00
Oleg Agafonov
b2279a8e9c tests: added many use cases for must be blocked, must blocking and menace effects (related to #13182) 2024-12-31 22:12:42 +04:00
Oleg Agafonov
23a414e074 refactor, combat: improved declare blockers code, added docs, added additional runtime checks for AI, added debug info 2024-12-31 22:08:13 +04:00
Oleg Agafonov
60112c6be5 test framework: added commands to check declared attackers and blockers creatures (useful for AI tests, see checkAttackers and checkBlockers) 2024-12-31 22:08:13 +04:00
Grath
6b9532febd
[refactor/bugfix] use rule 802.2a where appropriate. (#13179)
* [refactor/bugfix] use rule 802.2a where appropriate.

Many effects which relied on getDefendingPlayerId would fail if the attacking creature had been removed from combat before they resolved, in which case the defending player ID would be null. This fixes these issues.

* Add test for removing attacking creature with Defending Player triggered ability.

Change allowFormer to be true by default, reduce falses to only necessary cases.
2024-12-25 14:18:01 -05:00