Commit graph

4077 commits

Author SHA1 Message Date
Susucre
00556c4cf6 implement [MH3] Emrakul, the World Anew 2024-04-30 11:34:52 +02:00
Susucre
8a07ff30b9 consolidate "Sacrifice all [filter] you control" 2024-04-30 10:59:42 +02:00
Susucre
1b9335c788 consolidate "gain control of all [filter] [target player] controls" 2024-04-30 10:59:38 +02:00
Susucre
d645facdc0
rework PhantomReplacementEffect used by 7 Phantom cards (#12189) 2024-04-27 17:34:59 +02:00
jimga150
6193c9aee6
Urborg Scavengers - fixed that it not getting keywords when exiling cards (#10409) (#12180) 2024-04-26 08:21:19 +04:00
Susucre
36d6547bf8
Modal double-faced cards - fixed game error on usage with some replacement effects (example: Diluvian Primordial, closes #12176) (#12184) 2024-04-25 23:40:57 +04:00
Susucre
ff4bd9b430 fix Obeka, Splitter of Seconds' extra phase calling beginning of turn method 2024-04-25 12:16:37 +02:00
xenohedron
9566e23d0b
Rework Mystery Booster and adjust some set classifications (#12138)
Mystery Booster rework:
* added images download support from scryfall (closes #11806);
* added virtual sets support (remix);
* fixed Commander set name (closes #12110);
2024-04-23 09:28:40 +04:00
jimga150
40143c648f
[REX] Implement Ian Malcolm, Chaotician (#12117)
* Start on Ian Malcolm, Chaotician, missing key effects

* fox ANY clause in DrawNthCardTriggeredAbility

* Get exile effect working

* Start using Evelyn, the Covetous code

* align exile effect

* align player clause

* align card type clause

* align counter check clause

* align mana clause

* add ownership clause

* remove redundant comments

* fix redundant mana clause description

* fix counter clause in mana cost effect

* fix active clause in mana effect

* use MageObjectReference to associate exiled cards with an Ian Malcolm instance

* optimize imports

* Start tests, failing currently

* fix test and add blink test

* fix signature of constructor

* fix order of super() call in checkTrigger

* clarify hash maps in watcher

* use correct AsThoughEffect

* document header of checkExile

* generalize modal and double faced cards for LKI fetch

* remove land played event for watcher

* Use custom MageIdentifier to filter usedMap
2024-04-22 23:58:05 -04:00
jimga150
28a1442899
Krark's Thumb - fixed that it can generates too many flip triggers (#12152)
---------

Co-authored-by: Susucre <34709007+Susucre@users.noreply.github.com>
2024-04-22 11:22:42 +04:00
Susucre
dee0637496
fix and test Zirda's Companion legality (#12142) 2024-04-20 11:14:29 +02:00
xenohedron
89bc08a840 adjust TokenImagesTest to not use MB1 2024-04-18 20:18:48 -04:00
Susucre
9a21f24f2c [PIP] Implement Glowing One & Ingesting Radroach 2024-04-18 19:28:15 +02:00
Susucre
0da12c4bc2 fix Kess, Dissident Mage (#11924)
fix #11924
2024-04-18 17:56:31 +02:00
jimga150
006f212b6b
[REX] Implement Indoraptor, the Perfect Hybrid (#12122)
* Implement Indoraptor, the Perfect Hybrid

* Add tests
2024-04-17 20:24:56 -04:00
jimga150
b0d7daa85e
[REX] Implement Grim Giganotosaurus (#12103)
* Implement Grim Giganotosaurus

* Refactor MonstrosityAbility to take cost adjuster

* Update Nemesis of Mortals' monstrous ability and add test for cost reduction
2024-04-17 20:24:37 -04:00
Susucre
9d7bf27d38
[PIP] Implement Rad Counters mechanic (#12087) 2024-04-17 20:04:17 +02:00
Susucre
11373fd75d fix Xanathar, Guild Kingpin (#12133)
fix #12133
2024-04-17 19:59:31 +02:00
Oleg Agafonov
88eb35ebc7 code clean 2024-04-16 23:37:22 +04:00
Oleg Agafonov
e8e2f23284 server: improved server stability (#11285) and reworked triggers/playable logic (#8426):
* game: now all playable calculations done in game simulation, outside real game (no more freeze and ruined games by wrong Nyxbloom Ancient and other cards with wrong replacement dialog);
* game: fixed multiple problems with triggers (wrong order, duplicated calls or "too many mana" bugs, see #8426, #12087);
* tests: added data integrity checks for game's triggers (3 enabled and 3 disabled due current game engine logic);
2024-04-16 23:10:18 +04:00
Susucre
f68e435fc4 rework and test Phyrexian Ingester 2024-04-14 12:33:26 +02:00
Susucre
017286ed94
fix ContinuousEffect that access affectedObjectsSet before it is initialized (#12080) 2024-04-13 16:50:06 +02:00
Susucre
cce7f79d89 fix and test Lara Croft, Tomb Raider (#11945)
Fix #11945
2024-04-13 13:21:29 +02:00
Susucre
fc011ac7e0 fix Opposition Agent (#10576)
Fix #10576
2024-04-13 12:59:52 +02:00
Susucre
607d55f16b
[OTC] Implement 2 cards, refactor some exile effects ("Gonti-like") (#12118)
[OTC] Implement Gonti, Canny Acquisitor
[OTC] Implement Dream Thief's Bandana
2024-04-13 12:21:05 +02:00
Susucre
c77634c843
separate 'you may play'|'you may cast' AsThoughtEffect approuvers
Also, reworked Gonti, Lord of Luxury and checks it now works properly with Zoetic Cavern.
2024-04-13 12:10:53 +02:00
Susucre
72a2e32d1c
fix 514.3a, give player priority on cleanup when something happened (#12115) 2024-04-12 15:31:53 +02:00
Oleg Agafonov
367defd995 tests: added tests for non-stack delayed trigger and details docs about problem 2024-04-11 22:46:25 +04:00
Oleg Agafonov
7fa4648316 refactor: code clean 2024-04-11 22:46:25 +04:00
Susucre
8a29dcc735 fix Obeka, Splitter of Seconds (#12085)
Now adding BeginningPhases with all but Upkeep skipped.
Previously upkeep steps were added during combat phase, which was incorrect.

fix #12085
2024-04-11 13:24:56 +02:00
jimga150
50e8a3b530
[REX] Implement Blue, Loyal Raptor (#12099) 2024-04-11 00:37:18 -04:00
jimga150
40b1dcc526
Fix DestroyPlaneswalkerWhenDamagedTriggeredAbility (#12093) 2024-04-10 23:42:44 -04:00
Susucre
113630c1ab fix Deep Gnome Terramancer triggering out of extra lands played 2024-04-10 20:52:18 +02:00
Oleg Agafonov
c3862e7196 server: improved server stability after some memory overflow errors (card not found errors, related to #11285); 2024-04-10 22:35:48 +04:00
Oleg Agafonov
7817a5cac6 deck improves:
* gui: removed public deck hash info;
* gui: improved xmage dck-file - now it correctly load a card's amount (related to files from third party services);
* server: fixed wrong cheating warning on deck construction (closes #11877);
* refactor: removed outdated hash code and calculations;
* other: added docs, added multiple deck hash tests;
2024-04-10 22:18:07 +04:00
Susucre
fd0da67e46 [PIP] Implement Lumbering Megasloth 2024-04-09 22:34:01 +02:00
Susucre
8ba277236f [OTC] Implement Heartless Conscription 2024-04-09 20:57:22 +02:00
Susucre
db5dc89776 [OTC] Implement Smoldering Stagecoach 2024-04-09 20:57:22 +02:00
Susucre
69b480a150 [OTC] Implement Vihaan, Goldwaker 2024-04-09 18:46:33 +02:00
Susucre
9da91b51ea [OTC] Implement Savvy Trader 2024-04-06 18:52:08 +02:00
Susucre
b233fcf4d8 Consolidate, cleanup & test a few MayCastTargetCardEffect cards 2024-04-06 17:37:32 +02:00
Susucre
a86b629abe [OTC] Implement Smirking Spelljacker 2024-04-06 16:26:16 +02:00
Susucre
233e3f57c6 [OTC] Implement Dune Chanter 2024-04-06 14:45:04 +02:00
Susucre
e217b3d0d8 [OTC] Implement Cataclysmic Prospecting 2024-04-06 02:33:18 +02:00
Susucre
5dfe480a5e
[MKM] Implement Perimeter Enforcer & Projektor Inspector (#11719) 2024-04-05 23:55:18 +02:00
Susucre
6240d6ea0c Fix Court of Locthwain not allowing free cast of DFC (#12073) 2024-04-05 20:32:40 +02:00
Susucre
1ff8cf01cf [MKM] Implement Fugitive Codebreaker 2024-04-05 20:16:28 +02:00
Susucre
acf5f47fe7 [MKM] Implement Conspiracy Unraveler 2024-04-05 20:16:28 +02:00
Susucre
821b0d069f
Return to battlefield transfromed - fixed that it was able to return non transformable cards, fixed #12066 (#12072) 2024-04-05 20:51:34 +04:00
Susucre
8a6b39c912 Fix [NEO] Kairi, the Swirling Sky buggy targetting 2024-04-05 13:23:51 +02:00