Commit graph

46301 commits

Author SHA1 Message Date
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
49b90820e0 fix Vampire Gourmand 2025-01-10 00:20:09 -05:00
Marco Romano
30dac5cc9f
[DSK] Implement Nowhere to Run (#13208)
* [DSK] implemented Nowhere to Run

* [DSK] implemented Nowhere to Run

* NowhereToRun - fixed typo in static test

* NowhereToRun - fixed hexproof effect
2025-01-09 15:07:13 -05:00
xenohedron
8772190c7b fix #13215 (Urza's Avenger, regression from #12619) 2025-01-09 00:35:59 -05: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
xenohedron
41b9c95be9 less intrusive error handling for #12833 2025-01-08 22:47:01 -05:00
Oleg Agafonov
0c8d49ce56 merge fix 2025-01-07 20:05:27 +04: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
Oleg Agafonov
fbd5cca14a GUI: fixed rare error while draging/moving card on first play (close #13201) 2025-01-04 12:46:19 +04:00
Grath
281086bbeb [PIP] Implement Cait, Cage Brawler
Also add alt arts of Curie, Emergent Intelligence and Yes Man, Personal Securitron, other recently added PIP cards.
2025-01-03 12:14:44 -05:00
Oleg Agafonov
ab1b3f5297 fix bad error handling (related to #13132) 2025-01-03 12:45:21 +04:00
xenohedron
07427c1df6 fix bad error handling (related to #13132) 2025-01-03 00:02:22 -05:00
xenohedron
9164509b51 fix #13188 (Mangara's Tome - replacement effect is single use) 2025-01-02 23:52:54 -05:00
xenohedron
fa781bb966 remove misleading comments from non-draftable sets (related to #13160) 2025-01-02 23:49:20 -05:00
tiera3
cb936d826b [ARB] booster collation for Alara Reborn (closes #13146) 2025-01-02 23:43:31 -05:00
tiera3
e149661723 [CON] booster collation for Conflux (closes #13169) 2025-01-02 23:43:31 -05:00
jackd149
b8e1266e39
[DSK] Implement Cryptid Inspector (#13189) 2025-01-02 20:04:13 -05: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
tiera3
2a7d527c64
Fix name [DA1] More of That Strange Oil... (#13183) 2025-01-02 20:03:27 -05:00
Shashakar
7f7a6d6b83
Fixed interaction between Bello and Ashaya (#13196)
Co-authored-by: Dexton Armstrong <djarmstrong@verisk.com>
2025-01-02 20:03:19 -05:00
jam1garner
8941bb1ec0
[PIP] Add Curie, Emergent Intelligence (#13175) 2025-01-02 20:03:06 -05:00
Oleg Agafonov
7e0c9bb5c5 images: fixed symbols download from gatherer website, removed custom cacert key storage (close #13159, close #13157, related to #9266) 2025-01-02 02:11:23 +04:00
Oleg Agafonov
7a1d22d459 merge fix 2024-12-31 22:33:10 +04:00
Oleg Agafonov
bd1f6a4ca7 tests: enabled test after #13182 2024-12-31 22:17:56 +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
aef220a19b tests: added progress bar with all running games in load tests, added error on non-started local server 2024-12-31 22:08:13 +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
Grath
8de9fb03a4
Break deadlock for one must/can't be blocked pair. (#13182)
Handle the case where a 'must be blocked if able' creature is attacking but there aren't enough available creatures to block it.
2024-12-25 14:17:40 -05:00
Oleg Agafonov
f4572faf8b AI, combat: fixed that computer blocking an attacker by biggest creature instead optimal;
refactor: fixed that Defiant Vanguard depends on debug data;
2024-12-25 18:43:26 +04:00
Oleg Agafonov
138788659a AI, combat: fixed that computer safely blocks the weakest creature instead most powerfull 2024-12-23 01:54:04 +04:00
xenohedron
89b2509fa5 fix #13177 (Zurgo and Ojutai)
trigger on combat damage only, regression from #13066
2024-12-22 13:04:16 -05:00
xenohedron
3bfa1443b2 fix Sharae of Numbing Depths properly (from #13176) 2024-12-22 13:02:27 -05:00
padfoothelix
f4eeda743c
fix a bug in Sharae of Numbing Depths (#13176)
* fix a bug in Sharae of Numbing Depths which caused the ability to trigger when owner's permanents got tapped.

* Fix Sharae of Numbing Depths
2024-12-22 11:29:48 -05:00
AlexKidd29
5928c84026
refactor: fixed wrong packge for RadCounterTriggerTest (#13162) 2024-12-19 01:55:21 +04:00
Grath
9055179f77 [PIP] Implement Yes Man, Personal Securitron 2024-12-18 15:15:34 -05:00
Grath
1b3d2373eb Update Thought Gorger and Toothy to use common effects/values. 2024-12-18 11:31:46 -05:00
Cameron Merkel
2f2c7ee205
Fix flashback not working with Viral Spawning (#13144) 2024-12-17 19:23:35 -05:00
Cameron Merkel
73b63d14ad
TargetAmount refactors (#13128)
* Add minimum and maximum target counts as parameters for TargetAmount and its subclasses; update/add several rules comments (and one actual text) for clarity; remove unused imports

* Get amount+description from target instead of parameters for DistributeCountersEffect and DamageMultiEffect; additions to TargetImpl.getDescription to accommodate

* Create separate method to check if "any number" phrasing should be used, override it in TargetAmount

* Check instanceof TargetAmount before casting

* Add new constructors to chain off of for TargetCreaturePermanentAmount & TargetCreatureOrPlaneswalkerAmount

* Fix text for Storm the Seedcore

* Use Integer.MAX_VALUE instead of 0 to represent no maximum targets

* Add comment about getUseAnyNumber()

* Use amount-only constructors in some TargetAmount subclasses, add clarifying documentation

* Fix a few calls

* Require more specific filters
2024-12-17 19:23:18 -05:00
Oleg Agafonov
960c26a291 tests: fixed and improved downloader tests 2024-12-17 01:00:31 +04:00
Oleg Agafonov
2aa64f252c bump version 2024-12-17 00:13:21 +04:00
Grath
bd1f802f46 Fix DeckValidatorTest. 2024-12-16 13:48:37 -05:00
Oleg Agafonov
2955535927 tests: added tests for auto-lands suggestion in deck editor and tourney (related to #13127) 2024-12-16 21:50:27 +04:00
Grath
40e2cf7cda Update banned lists for Legacy, Modern, and Pioneer.
https://magic.wizards.com/en/news/announcements/banned-and-restricted-december-16-2024
2024-12-16 12:29:04 -05:00
PurpleCrowbar
bdf9f09500 Remove all sets lacking token images from token image database 2024-12-16 02:07:59 +00:00
Oleg Agafonov
4bce1e0a9a When you cast this spell - fixed that it required double cost for cards with alternative costs like Evoke (example: Nulldrifter, #12843) 2024-12-14 21:47:55 +04:00