Commit graph

10985 commits

Author SHA1 Message Date
xenohedron
698fe34014 SearchLibraryPutInPlayEffect: remove forceshuffle parameter, part 2 2023-05-13 23:45:36 -04:00
xenohedron
4c787423bc SearchLibraryPutInPlayEffect: remove forceshuffle parameter 2023-05-13 23:45:36 -04:00
xenohedron
1aba94c8a8 SearchLibraryPutInPlayEffect: remove outcome, part 3 2023-05-13 23:45:36 -04:00
xenohedron
511ae76aee SearchLibraryPutInPlayEffect: remove outcome, part 2 2023-05-13 23:45:36 -04:00
xenohedron
3b02a42ddf SearchLibraryPutInPlayEffect: automatic outcome 2023-05-13 23:45:36 -04:00
xenohedron
6de43dc06e Cleanup SearchLibraryPutOnLibraryEffect, part 2 2023-05-13 23:45:36 -04:00
xenohedron
a4616bc7ee Cleanup SearchLibraryPutOnLibraryEffect 2023-05-13 23:45:36 -04:00
xenohedron
f5cbb2e224 SearchLibraryPutInHandEffect: add parameter for "that card" text 2023-05-13 23:45:35 -04:00
xenohedron
ae7266efba SearchLibraryPutInHandEffect: simplify constructors 2023-05-13 23:45:35 -04:00
xenohedron
5ee6bed33a Cleanup SearchLibraryPutInHandOrOnBattlefieldEffect 2023-05-13 23:45:35 -04:00
xenohedron
8eb8a163af Cleanup SearchLibraryPutInPlayTargetPlayerEffect 2023-05-13 23:45:35 -04:00
Evan Kranzler
024c3081df
[BRC] Implement Rootpath Purifier (ready for review) (#10363)
* refactor check supertype methods

* change supertype to list to match card type

* refactor various subtype methods

* implement mageobjectattribute for supertype

* a few fixes

* [BRC] Implement Rootpath Purifier

* a few extra fixes

* more fixes

* add test for purifier
2023-05-13 10:48:07 -04:00
Evan Kranzler
a850e3660b
Change supertype method in constructors (#10361)
* replace addSuperType with supertype.add in card constructors

* more supertype replacements

* update MDFC supertype implementation

* remove unnecessary class

* update test
2023-05-12 20:45:07 -04:00
xenohedron
4cc9329b15
New feature: "Chaos Remixed" booster draft (#10328)
* Fix error in draft pick logger that was failing on chaos drafts with fewer than 3 sets

* Implement Remixed Booster Draft

* Add debug test

* minor cleanup

* Cleanup unnecessary checks

* Fix elimination tournament type

* Add note for future improvement
2023-05-12 18:12:23 +04:00
Oleg Agafonov
6d4e353867 Designation - fixed not working abilities like Monarch and Initiative (#10334, #10338); 2023-05-12 18:00:52 +04:00
xenohedron
4c13b42dee
Cleanup: replace custom code with common classes, text fixes to abilities (#10304)
* Use common FirstCombatPhaseCondition on Raiyuu, Storm's Edge

* Use common ReturnFromExileForSourceEffect on Parallax Wave

* Use common exile effects on Prowling Geistcatcher (attempt to fix #9981)

* Fix text: Fading ability

* Fix text: Endangered Armodon

* Fix text: Nemata, Primeval Warden

* Fix text: Capitalization on alternative/additional costs other than mana
2023-05-09 18:01:48 +04:00
Oleg Agafonov
550d719498 Fixed NPE error in drafting and timeout 2023-05-09 16:54:22 +04:00
Oleg Agafonov
30389e426f Fixed NPE error in drafting and disconnected player 2023-05-09 16:54:22 +04:00
Oleg Agafonov
a18dcd9911 Drana and Linvala - fixed game error on usage with same abilities from permanents (NPE error) 2023-05-09 16:54:22 +04:00
Oleg Agafonov
a315171ca4 Connive ability - fixed game error on usage (NPE), fixed game freeze on disconnect, fixed miss LKI related code; 2023-05-09 15:36:33 +04:00
Oleg Agafonov
3c66dc8706 Additional fixes for 9d9916280a 2023-05-09 15:05:24 +04:00
Oleg Agafonov
9d9916280a Attacking you abilities and filters - fixed that planeswalker removes from a combat can cause a game error (NPE error, example: Curse of Hospitality) 2023-05-09 14:59:44 +04:00
Oleg Agafonov
7d9d037416 db: fixed not working sets update on server's start 2023-05-09 08:58:32 +04:00
theelk801
386e10b251 [MAT] Implement Danitha, New Benalia's Light 2023-05-08 18:22:36 -04:00
theelk801
4271ec8aec [LTR] Implement Gandalf, Friend of the Shire 2023-05-08 17:28:38 -04:00
Oleg Agafonov
bc79b5f5d1 dev: enabled debug main menu by default in developer builds (example: test render dialog) 2023-05-09 00:49:46 +04:00
Oleg Agafonov
5c705a92a3 Cheats: added error dialog on wrong cheat command, added chat message about cheat try; 2023-05-09 00:22:00 +04:00
Oleg Agafonov
6882a9a49e Code clean 2023-05-08 22:59:30 +04:00
Oleg Agafonov
1dea98cf1f Game: fixed that search by card name was able to return a wrong card (example: cheat command) 2023-05-08 22:58:30 +04:00
theelk801
907d07d175 [MAT] Implement Animist's Might 2023-05-08 09:00:14 -04:00
theelk801
6f9358c095 [MAT] Implement Tolarian Contempt 2023-05-08 08:37:48 -04:00
Oleg Agafonov
f2d93f224f Tokens and command objects reworked (part 2 of 2, tokens/emblems) 2023-05-08 02:18:42 +04:00
Oleg Agafonov
5f55c7c667 Tokens and command objects reworked (part 1 of 2):
- fixed that copy effect doesn't restore original image after effect's end;
 - removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
 - refactor command objects to use CommandObjectImpl;
 - refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
 - refactor another game objects to remove some duplicated fields;
2023-05-08 02:15:07 +04:00
theelk801
46f6593da8 [SLD] fixe Holga, Relentless Rager not requiring blocks (fixes #10325) 2023-05-07 14:45:18 -04:00
Evan Kranzler
3503513c4e
Implement The Ring Tempts You mechanic (#10320)
* remove skip

* initial implementation of the ring mechanic

* some changes

* rework ring-bearer choosing

* [LTR] Implement Call of the Ring

* update ring-bearer condition
2023-05-07 14:32:28 -04:00
xenohedron
3e5b392287
Fix Haunt ability to trigger on haunted tokens dying (#7689, #10308); add test (#10310) 2023-05-07 13:31:23 -04:00
xenohedron
35bb7d513b
Another batch of text fixes (#10317)
* Fix text: Blind Hunter

* Fix text: cards with bloodrush ability

* Fix text: populate ability

* Fix Goblin Pyromancer to boost all

* Fix text: Wellwisher; Kamahl, Fist of Krosa; Snapping Thragg

* Fix text: "you may prevent"

* Fix text: Elvish Guidance, Elvish Pathcutter

* Fix text: [search library for cards named]
2023-05-07 13:30:55 -04:00
theelk801
cd3fb997a7 [CMM] Implement Commodore Guff 2023-05-06 09:06:22 -04:00
theelk801
a3c4dc2395 rework RevealCardsFromLibraryUntilEffect to use PutCards 2023-05-04 09:42:00 -04:00
theelk801
39d78aff2f [MAT] Implement Tyvar, the Bellicose 2023-05-04 09:42:00 -04:00
theelk801
406d61a55f [MAT] Implement Nissa, Resurgent Animist 2023-05-04 09:42:00 -04:00
Oleg Agafonov
6ed702a7b3 Tokens improved:
- added auto-generated token names for CreatureToken;
 - added verify tests for token names;
 - removed outdated ElementalCreatureToken;
 - fixed wrong indefinite article in some tokens;
 - fixed miss Token in some token names (related to #10139);
2023-05-04 17:38:54 +04:00
theelk801
d2b808074d simplify saga ability constructors 2023-05-02 19:59:28 -04:00
chesse20
e8892badf1
Fix perpetual use toughness as power of Walking bulwark (#10138)
* attempted fix

* super constructors work like this?

* better use of super and java

* try this again

* fix un-needed code

* remove commented code

* missed some

* Simplify Constructors
2023-05-02 19:59:17 -04:00
PurpleCrowbar
171f0a238b Fix Monkey Cage, fix Pongify ape's images, remove some non-token sets from available token sets 2023-05-02 21:04:57 +01:00
Oleg Agafonov
3986196aa4 Tokens rework: fixed morph support, fixed test (related to #10139) 2023-05-01 19:41:25 +04:00
Oleg Agafonov
94819ff91c Tokens rework:
- tests: added support of set code in custom ability (see addCustomCardWithAbility);
 - tests: added additional tests for token images (related to #10139, #10222);
 - fixed wrong token images for copied cards/tokens (#10222);
2023-05-01 17:27:26 +04:00
theelk801
df322c680c [40K] various text fixes 2023-04-30 15:26:40 -04:00
theelk801
edb5c99df8 [J22] various text fixes 2023-04-30 11:28:06 -04:00
Oleg Agafonov
255a050025 Tests: improved verify tests:
- added checks for duplicated indefinite articles in the rules;
 - improved test_showCardInfo - now it can search cards by simple class name too;
 - fixed some card/token texts;
2023-04-30 18:49:22 +04:00
Oleg Agafonov
e848f85e81 BecomesCreatureTargetEffect - improved text generation 2023-04-30 18:11:57 +04:00
xenohedron
3df7f6940d
More text fixes (#10296)
* Fix text: Tattoo Ward (and similar "doesn't remove {this}")

* Fix text: Demoralize

* Fix text: Keep Watch

* Fix Slithery Stalker (ability is not optional)

* Fix text: Rain of Filth
2023-04-30 09:55:43 -04:00
theelk801
f959b87cdc [40K] Implement The Horus Heresy 2023-04-29 20:11:45 -04:00
theelk801
dd4b1684c8 some changes to how sagas are built 2023-04-29 20:11:45 -04:00
Oleg Agafonov
aaa92d5e46 Fixed tests 2023-04-29 21:30:34 +04:00
theelk801
46e0af6cc2 fix error 2023-04-29 11:41:52 -04:00
theelk801
dae78e9407 [MOM] fix Quintorius, Loremaster targeting 2023-04-29 11:38:36 -04:00
Oleg Agafonov
583c5fe4e9 GUI: improved double faced tokens:
- added tokens support in test render dialog;
 - improved PT drawing;
 - fixed broken second side switch button (related to #10231);
 - fixed miss override in TokenImpl (all override with backFace must be removed, see todo);
2023-04-29 19:13:13 +04:00
Paul Davies
70cf2158a9
[MIR] implemented Basalt Golem (#10285)
* added MIR Basalt Golem + Wall Token

* fixed card number, effect text, possible NPE
simplified effect code
2023-04-29 08:40:11 -04:00
theelk801
4757356bc2 [ONC] Implement Staff of the Storyteller 2023-04-28 19:25:34 -04:00
xenohedron
761663c63c
Feature improvement: automatic deck submissions now add lands sensibly (#10159)
* Make automatic deck submissions use sensible land suggestions

* Cover edge case of no colored mana symbols among cards in deck

* Add comments

* Get minimum deck size from deck validator
2023-04-28 18:59:24 +04:00
Oleg Agafonov
f86cf176d7 Tokens rework:
- added reminder / helper tokens support (example: Copy, Morph, Day // Night, related to #10139);
 - added verify checks for reminder tokens;
 - added images download for reminder tokens;
2023-04-27 19:05:31 +04:00
xenohedron
0e1e6a0f21
Text fixes (cantrips with line break) (#10284)
* Fix text: Teleportal, Weapon Surge, Mizzium Skin

* Fix text: Cantrips with line break (early sets)

* Fix text: Cantrips with line break (later sets)

* Fix text: {tap} in strings, capitalization of gained abilities, misc
2023-04-27 19:05:11 +04:00
Evan Kranzler
726e289646
Implement DFC tokens for Incubate (#10231)
* remove incubate skip

* initial implementation of DFC tokens

* separate incubator back face to separate class

* small refactor to token copy function

* token copies now have back faces as well

* effects which modify token copies now correctly apply to both faces

* add skip for exception

* tokens now enter transformed correctly

* [MOC] remove skip for incubate

* fix verify failure
2023-04-27 19:03:25 +04:00
theelk801
26f9f63e78 [J22] Implement Magnanimous Magistrate 2023-04-25 21:10:06 -04:00
xenohedron
9abaa75bd4
Various text fixes (#10251)
* Fix text: Invigorate (fixes #8708) - override

* Fix text: sacrifice multiple permanents (as cost)

* Fix text: Coral Colony - override and add hint

* Fix text: Corpse Harvester (fixes #7837) - override

* Fix text: Solitary Camel, Sidewinder Naga

* Fix text: Malicious Advice

* Fix text: Ray of Command

* Fix text: Retreat to Hagra

* Fix reminder text for "End the turn."

* Fix text: Elspeth, Undaunted Hero

* Fix text: Gideon, Champion of Justice

* Fix text generation for condition: no counters

* Fix text: PhantasmalSphere

* Fix text: Retaliation

* Fix text generation for additional cost: discard X cards

* Fix text: Soul Separator

* Fix text: Thundermaw Hellkite

* Fix text: Torment of Hailfire

* Fix text: Twilight Prophet

* Fix text: ETB cantrips next turn's upkeep

* Fix text: Venser's Journal
2023-04-25 23:30:00 +04:00
theelk801
b979f47cc3 [ONC] Implement Synthesis Pod 2023-04-24 22:26:50 -04:00
theelk801
ff115cad48 [ONE] various text fixes 2023-04-24 22:26:34 -04:00
theelk801
16fe17316e [ONE] Implement Blade of Shared Souls 2023-04-24 19:00:08 -04:00
theelk801
747a9b14f7 [ONE] Implement Slobad, Iron Goblin 2023-04-24 19:00:08 -04:00
xenohedron
1780972f71
Refactor to clean up base P/T setting and fix text generation (#10264)
* Adjust constructors to simplify

* Refactor to remove duration parameter for CDA (always end of game)

* Fix warnings

* Druid Class not CDA

* Entropic Specter fixup

* Further constructor simplification

* Analogous simplification for setting power only

* Analogous simplification for setting toughness only

* Remove superfluous parameter

* Set fields final
2023-04-24 17:43:18 +04:00
PurpleCrowbar
aae793945d Add ODY token images 2023-04-24 01:20:57 +01:00
theelk801
22946bb35e [MOC] Implement Path of the Schemer 2023-04-23 17:13:31 -04:00
theelk801
7fc5943b07 [MOC] Implement Path of the Animist 2023-04-23 17:13:31 -04:00
theelk801
b8858a881e [MOC] Implement Pain Distributor 2023-04-23 17:13:31 -04:00
Alexander Novotny
493ca37eac
[LTR] Add tom bombadil (#10244) 2023-04-23 13:41:29 -04:00
theelk801
ccbd45ea3c [BRO] Implement One with the Multiverse 2023-04-23 12:56:49 -04:00
Daniel Bomar
92b6d7a531
[BRO] Implemented Gix, Yawgmoth Praetor (#9765)
* [BRO] Implemented Gix, Yawgmoth Praetor

* Add missing TestPlayer, PlayerStub implementations
2023-04-23 11:49:52 -04:00
theelk801
9385a31c4a [LTR] Implement Frodo, Sauron's Bane 2023-04-23 10:55:12 -04:00
theelk801
30a530cff0 [LTR] Implement Gollum, Patient Plotter 2023-04-23 10:00:01 -04:00
theelk801
44307f2d0a [LTR] Implement The Shire 2023-04-22 20:22:03 -04:00
theelk801
d17f1fc723 [LTR] Implement The One Ring 2023-04-22 20:02:18 -04:00
Oleg Agafonov
7d44057f93 Tokens rework:
- now token images chosen by tokens database instead availableImageSetCodes (related to #10139);
 - added additional verify checks for tokens database;
 - fixed some tokens;
2023-04-22 15:50:46 +04:00
Oleg Agafonov
24bd4315c6 Tokens rework:
- added tokens database (now all tokens store in tokens-database.txt, related to #10139);
 - added sets/cards/tokens stats on app's start;
2023-04-22 02:59:15 +04:00
Oleg Agafonov
1dc7dcc94c Fixed images info copy in morph and other copy abilities 2023-04-21 11:39:03 +04:00
Oleg Agafonov
689b93d005 Refactor: improved choose cards method to use source param (fixed NPE like #10233, #9974 and other bugs with choose cards) 2023-04-21 11:02:57 +04:00
Oleg Agafonov
5474787641 Refactor: added miss Ability source in some choose methods 2023-04-21 10:08:33 +04:00
xenohedron
6fbc8c2081
Fix targetability of [ONE] Thrun, Breaker of Silence (#10172)
* Reimplement "hexproof from nongreen" as inner class

* Remove leftover unused code from StaticFilters

* Fix to check color of abilities
2023-04-20 21:41:42 -04:00
xenohedron
1ac9ec65cc
Implement [JUD] Infectious Rage (#10187)
* Implement [JUD] Infectious Rage

* Fix ClassCastException by using last known info

* Add game log message for random choice. Still need to investigate filter.

* Clarify filter and add comments

* Address review comments (3/4)

* Check zone change counter
2023-04-20 21:40:24 -04:00
xenohedron
ba461d9af0
Fix Alloy Golem color set duration (#10195) 2023-04-20 18:23:46 -04:00
xenohedron
68b3fc80e9
Fix Vapor Snare effect (#10188)
* Fix Vapor Snare and refactor "unless you return a land" effects to use correct static filter

* Fix capitalization of return to hand cost

* Fix capitalization of sacrifice unless pays effect
2023-04-20 18:22:59 -04:00
Oleg Agafonov
df96b89610 Token: added check for required token's class, fixed outdated sets 2023-04-20 23:34:22 +04:00
Oleg Agafonov
5f31c061cf Tokens improved:
- removed outdated emblem formats;
 - simplified emblems definition;
 - improved tok-data structure;
 - improved tok-data read;
 - added additional checks for tok-data file;
 - prepare for tokens database (related to #10139);
2023-04-20 22:14:37 +04:00
theelk801
a46dbf602f fix Melee ability not working (fixes #9848, fixes #10098) 2023-04-19 20:49:47 -04:00
Oleg Agafonov
771d0bfdf1 Server: improved error message on server's memory problems (#8130) 2023-04-19 20:01:11 +04:00
Oleg Agafonov
91542c0c40 [MOM] fixed game error on Urabrask // The Great Work usage (miss watcher), fixed Jaya Ballard Emblem (miss watcher) 2023-04-19 18:51:45 +04:00
Oleg Agafonov
2e8f24edb3 Fixed protector NPE on empty opponents 2023-04-19 18:40:04 +04:00
Oleg Agafonov
c061c7f436 [CLB] Undercity Dungeon - fixed game error (NPE fix) 2023-04-19 18:34:52 +04:00
theelk801
c4ebe4ae8b [MOC] various text fixes 2023-04-18 18:34:57 -04:00
PurpleCrowbar
89201937f7 Add MOC token images 2023-04-18 16:27:48 +01:00
PurpleCrowbar
d3d99d609b Add MOM token images (excluding Incubator tokens) 2023-04-18 15:38:36 +01:00
PurpleCrowbar
85c98bc239 Add 30A token images 2023-04-18 15:02:13 +01:00
theelk801
33ec1b7e58 [MOM] Implement Axgard Artisan 2023-04-17 20:23:12 -04:00
theelk801
fbf874fdc5 [MOM] Implement Drana and Linvala 2023-04-17 19:53:32 -04:00
theelk801
8c2ee477fa [MOM] Implement Ghalta and Mavren 2023-04-17 19:23:55 -04:00
theelk801
d94e699d0e [MOM] Implement Inga and Esika 2023-04-17 19:13:25 -04:00
theelk801
a7a45763b3 [MOM] Implement Complete the Circuit 2023-04-17 18:26:27 -04:00
theelk801
7160a907c9 [MOM] Implement Invasion of New Phyrexia / Teferi Akosa of Zhalfir 2023-04-17 18:09:27 -04:00
theelk801
302e445b90 [MOC] Implement Conclave Sledge-Captain 2023-04-17 17:49:37 -04:00
PurpleCrowbar
25636565a9 [MOC] Implement Wildfire Awakener 2023-04-17 19:43:00 +01:00
amoscatelli
6059422afc
[J22] Implement Alandra, Sky Dreamer (#10219)
* Alandra Sky Dreamer
DrawSecondCardTriggeredAbility refactored into DrawCardTriggeredAbility
DynamicValue support for DrawCardTriggeredAbility
DynamicValue support for BoostAllOfChosenSubtypeEffect

* cardNumber as int
static use of cardwatcher

* removing spaces

* FaerieMastermind and ZimoneAndDina using the new generic DrawCardTriggeredAbility

* AlandraSkyDreamer and DrawCardTriggeredAbility test

* renaming DrawCardTriggeredAbility to DrawNthCardTriggeredAbility

* merging the boost effects into a single ability

* merging two effects to the same ability

* text added to effects

---------

Co-authored-by: drago <drago@192.168.1.72>
2023-04-17 09:12:18 -04:00
theelk801
c270d282d0 a few small updates to battle rules 2023-04-16 22:22:51 -04:00
theelk801
9e1aa964ae [MOM] Implement Blightreaper Thallid / Blightsower Thallid 2023-04-16 20:18:24 -04:00
theelk801
ebea097e1c [MOC] Implement Filigree Vector 2023-04-16 19:04:54 -04:00
theelk801
89ce5bbc3d [MOC] Implement Gimbal, Gremlin Prodigy 2023-04-16 09:44:08 -04:00
theelk801
1cfe05f38e [MOC] Implement Teferi's Talent 2023-04-16 09:30:44 -04:00
theelk801
56d37b3496 [MOM] various text fixes 2023-04-15 21:11:25 -04:00
theelk801
453d734e30 [MOM] Implement Invasion of Segovia / Caetus, Sea Tyrant of Segovia 2023-04-15 17:52:42 -04:00
theelk801
e7f6173cc2 [MOM] Implement Invasion of Kylem / Valor's Reach Tag Team 2023-04-15 17:37:14 -04:00
Merlingilb
0623f52f68
MOM: Added card "Omnath, Locus of All" and its abilities and effects (#10029)
* MOM: Added card "Omnath, Locus of All" and its abilities and effects

* fixed rule text

* added art variant

* test

---------

Co-authored-by: Daniel Eberhard <daniel.h.e@gmx.de>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-04-15 13:16:51 -04:00
Oleg Agafonov
79b8093047 * Jaheira's Respite - fixed that it allows to choose any cards amount (#10206), added card hint;
* Arachnogenesis, Blessed Reversal - added card hint;
2023-04-15 15:38:44 +04:00
Oleg Agafonov
29afbe042c GUI: fixed that some split cards show a fuse rule (#10217) 2023-04-15 14:32:36 +04:00
Oleg Agafonov
d6506657d6 Fixed NPE 2023-04-15 14:13:51 +04:00
theelk801
c025349791 [MOM] Implement Vorinclex 2023-04-14 21:09:22 -04:00
theelk801
25e8cf7cef [MOM] Implement Sheoldred 2023-04-14 20:54:59 -04:00
theelk801
dd91a58c85 [MOM] Implement Elesh Norn 2023-04-14 20:12:25 -04:00
Oleg Agafonov
bc5c381fef GUI: fixed card's defense stat drawing in deck editor 2023-04-14 18:28:25 +04:00
Oleg Agafonov
3226b85589 GUI: fixed error on second side switch 2023-04-14 18:13:36 +04:00
Merlingilb
f63efe14b5
MOM: Added card "Jin-Gitaxias" and its abilities and effects (#10036)
* MOM: Added card "Jin-Gitaxias" and its abilities and effects

* rule text improvement

* remove unused imports

---------

Co-authored-by: Daniel Eberhard <daniel.h.e@gmx.de>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-04-14 09:50:09 -04:00
theelk801
b120ce0fa9 [MOM] Implement Scrappy Bruiser 2023-04-14 08:51:08 -04:00
theelk801
8d7b73151c [MOM] various text fixes 2023-04-13 22:44:42 -04:00
theelk801
1021443b2a [NCC] fix Gavel of the Righteous alternate equip 2023-04-13 20:03:29 -04:00
Evan Kranzler
947351932b
Ready for Review: Implementing Battles (#10156)
* add types and subtypes

* add startingDefense attribute

* [MOM] Implement Invasion of Ravnica / Guildpact Paragon

* fix two small errors

* refactor various instances of "any target"

* fully implement defense counters

* battles can now be attacked

* [MOM] Implement Invasion of Dominaria / Serra Faithkeeper

* [MOM] Implement Invasion of Innistrad / Deluge of the Dead

* [MOM] Implement Invasion of Kaladesh / Aetherwing, Golden-Scale Flagship

* [MOM] Implement Invasion of Kamigawa / Rooftop Saboteurs

* [MOM] Implement Invasion of Karsus / Refraction Elemental

* [MOM] Implement Invasion of Tolvada / The Broken Sky

* simplify battle info ability

* fix verify failure

* some more fixes for attacking battles

* [MOM] Implement Invasion of Kaldheim / Pyre of the World Tree

* [MOM] Implement Invasion of Lorwyn / Winnowing Forces

* [MOM] Implement Invasion of Moag / Bloomwielder Dryads

* [MOM] Implement Invasion of Shandalar / Leyline Surge

* [MOM] Implement Invasion of Belenon / Belenon War Anthem

* [MOM] Implement Invasion of Pyrulea / Gargantuan Slabhorn

* [MOM] Implement Invasion of Vryn / Overloaded Mage-Ring

* [MOM] Implement Marshal of Zhalfir

* [MOM] Implement Sunfall

* implement protectors for sieges

* partially implement siege defeated trigger

* fix verify failure

* some updates to blocking

* [MOM] Implement Invasion of Mercadia / Kyren Flamewright

* [MOM] Implement Invasion of Theros / Ephara, Ever-Sheltering

* [MOM] Implement Invasion of Ulgrotha / Grandmother Ravi Sengir

* [MOM] Implement Invasion of Xerex / Vertex Paladin

* add initial battle test

* fix verify failure

* [MOM] Implement Invasion of Amonkhet / Lazotep Convert

* [MOM] update spoiler

* update how protectors are chosen

* update text

* battles can't block

* add control change test

* rename battle test for duel

* add multiplayer test

* [MOM] Implement Invasion of Alara / Awaken the Maelstrom

* [MOM] Implement Invasion of Eldraine

* [MOM] Implement Invasion of Ergamon / Truga Cliffhanger

* [MOM] Implement Invasion of Ixalan / Belligerent Regisaur

* battles now cast transformed (this is super hacky but we need to refactor TDFCs anyway)

* add TODO

* add ignore for randomly failing test

* a few small fixes

* add defense to MtgJsonCard (unused like loyalty)

* implement ProtectorIdPredicate

* small fixes
2023-04-13 20:03:16 -04:00
theelk801
edf1cff8a8 [MOM] Implement Rampaging Raptor 2023-04-13 09:15:59 -04:00
Oleg Agafonov
01caeed298 Merge fix 2023-04-13 17:06:22 +04:00
Oleg Agafonov
d17df585c5 Tokens reworked:
- removed outdated code;
 - updated logic to choose a set code for a tokens in different use cases (related to #10150);
 - added many tests for client and server token's data (related to #10139);
 - prepare for tokens database (related #6955);
2023-04-13 16:18:53 +04:00
Oleg Agafonov
ff15edbce8 Game: added new set Thirtieth Anniversary Edition (30A) 2023-04-13 14:38:03 +04:00
Oleg Agafonov
47ee0f7f5a Voice Of Resurgence - fixed token 2023-04-12 09:48:28 +04:00
theelk801
312cff0c0f [MOM] various text fixes 2023-04-11 09:32:31 -04:00
Sean Walsh
7db278bdf1
Implement Brazen Cannonade, and new UntilEndOfNextCombatStep duration (#10047) 2023-04-10 20:36:21 -04:00
theelk801
f1fdfc2c70 [MOM] Implement Polukranos Reborn / Polukranos, Engine of Ruin 2023-04-10 20:21:57 -04:00
theelk801
c1073ee801 [MOM] Implement Baral and Kari Zev 2023-04-10 09:13:43 -04:00
theelk801
ff41b7631d fix test failure 2023-04-09 15:44:30 -04:00
theelk801
7a3841c45c [MOM] Implement Ancient Imperiosaur 2023-04-09 13:23:05 -04:00
theelk801
2c0486673f [MOM] Implement Zephyr Singer 2023-04-09 13:19:13 -04:00
theelk801
9237b26b74 [MOC] Implement Chivalric Alliance 2023-04-09 09:10:32 -04:00
theelk801
eb27c30409 [MOC] Implement Blight Titan 2023-04-09 09:09:01 -04:00
Oleg Agafonov
f7b32cadd7 Improved watchers to support SortedSet fields correctly (related to #10092, #10192) 2023-04-09 08:06:58 +04:00
theelk801
402cea2697 [MOC] Implement Herald of Hoofbeats 2023-04-08 21:43:20 -04:00
Evan Kranzler
b3245e0238
Revert "[J22] Implement Alandra, Sky Dreamer and refactor of DrawSecondCardTriggeredAbility (#10092)" (#10193)
This reverts commit 0ebaeb20c7.
2023-04-08 21:42:50 -04:00