Commit graph

283 commits

Author SHA1 Message Date
xenohedron
698fe34014 SearchLibraryPutInPlayEffect: remove forceshuffle parameter, part 2 2023-05-13 23:45:36 -04:00
xenohedron
511ae76aee SearchLibraryPutInPlayEffect: remove outcome, part 2 2023-05-13 23:45:36 -04:00
xenohedron
ae7266efba SearchLibraryPutInHandEffect: simplify constructors 2023-05-13 23:45:35 -04:00
Oleg Agafonov
6882a9a49e Code clean 2023-05-08 22:59:30 +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
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
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
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
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
c061c7f436 [CLB] Undercity Dungeon - fixed game error (NPE fix) 2023-04-19 18:34:52 +04:00
PurpleCrowbar
89201937f7 Add MOC token images 2023-04-18 16:27:48 +01:00
theelk801
7160a907c9 [MOM] Implement Invasion of New Phyrexia / Teferi Akosa of Zhalfir 2023-04-17 18:09:27 -04:00
theelk801
1cfe05f38e [MOC] Implement Teferi's Talent 2023-04-16 09:30:44 -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
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
theelk801
4706b695e7 [MOM] Implement Wrenn and Realmbreaker 2023-04-01 19:19:53 -04:00
Oleg Agafonov
d393ac9c60 Fixed NPE in some cards with exile zone (example: Draugr Necromancer) 2023-03-31 23:38:09 +04:00
Oleg Agafonov
a15a0daa04 Fixed potential NPE errors in getPhase usage (fixed Berserker's Frenzy, etc) 2023-03-25 16:01:27 +04:00
Oleg Agafonov
cfd7464b49 Refactor: added edit protection for some unmodifiable lists 2023-03-25 15:22:13 +04:00
Grath
419b9774e7
Fix #9948 (#9951)
- Reveal card tutored with Secret Entrance
- Grant hexproof from Throne of the Dead Three until next turn.
2023-02-06 14:15:47 +00:00
PurpleCrowbar
c1d425ba09
[ONE] Implement Koth, Fire of Resistance (#9825) 2023-01-14 14:34:14 -05:00
Evan Kranzler
7e550f463f [BRO] various text fixes 2022-11-08 18:51:01 -05:00
PurpleCrowbar
63c1325f37
[BRO] Implement Saheeli, Filigree Master (#9735)
* [BRO] Implement Saheeli, Filigree Master

* Add some comment text to Saheeli, Filigree Master's emblem
2022-11-06 08:43:33 -05:00
Evan Kranzler
b57bdfe192 [40K] Implemented Magus Lucea Kane 2022-10-22 17:17:10 -04:00
PurpleCrowbar
c89e5077af Fix Karn Living Legacy Emblem. Closes #9585 2022-09-27 20:54:12 +01:00
Alex Vasile
ce4cbe2f5e
Changed several cards to use new Static non-token creatures filter (#9564) 2022-09-24 17:17:59 -04:00
Evan Kranzler
b9bbb4d1b3 [DMU] Implemented Karn, Living Legacy 2022-09-05 16:56:52 -04:00
Alex Vasile
07a142c9e8
Refactor: Add proper support for modifying and querying base P/T (#9409) 2022-09-01 19:57:30 -04:00
Daniel Bomar
e341023d23
[DMU] Compleated Ajani, Sleeper Agent 2022-08-21 13:41:48 -05:00
Evan Kranzler
6cfefeea95
[DMU] Implemented all currently previewed cards (#9304) 2022-08-14 21:02:16 -04:00
Alex Vasile
ebdb6b53a4
Replace Overriden getTriggerPhrase() with setTriggerPhrase() usage (#9343) 2022-08-08 23:28:46 -04:00
PurpleCrowbar
cc6936387e [NEO] Fixes Kaito Shizuki's emblem not triggering. Closes #9290 2022-07-25 02:17:27 +01:00
PurpleCrowbar
474aeb560a Added 2X2 token images 2022-07-22 23:46:15 +01:00
PurpleCrowbar
227ae8c2e2 Assigned emblem images 2022-06-24 18:05:35 +01:00
PurpleCrowbar
494fc39dba
Added "available image set codes" functionality to emblems (#9150)
* Added pulling image from list of available image set codes functionality to emblems

* Provided available image set codes for Daretti, Scrap Savant emblem

* Fixed typo in a comment
2022-06-24 10:32:07 +04:00
Alex Vasile
5aae6bf735 [CLB] Fix Undercity Dungeon +1/+1 counter amount and Stash next room bugs. Closes #9123. 2022-06-22 14:40:32 -04:00
DeepCrimson
882afbf8b5
Fix remaining raw unparameterized usages of ManaCostImpl 2022-06-16 14:53:44 -07:00
PurpleCrowbar
85ebbb516b Added BNG token images 2022-06-05 19:15:54 +01:00
PurpleCrowbar
2ccf911fc4 Added GTC token images 2022-06-04 20:59:19 +01:00
PurpleCrowbar
21904d991c Added DDI token images 2022-06-04 19:23:47 +01:00
PurpleCrowbar
a8309f38f7
Token images for a couple of sets (#9047)
* Added support for and assigned IMA token images

* Added support for and assigned CM2 token images

* Fixed M19 DragonEggDragonToken not displaying in game
2022-06-02 00:55:17 +04:00
PurpleCrowbar
6c02923c15 Fixed M20 emblem images not showing in game 2022-05-31 20:22:49 +01:00
Alex Vasile
fdbca7048a [CLB] Fix Forge section of Undercity not giving 2 +1/+1 counters. For #9010. 2022-05-29 12:01:24 -06:00
Evan Kranzler
1cf297a15c [CLB] Implemented Altar of Bhaal 2022-05-27 06:30:37 -04:00
Evan Kranzler
b6bf6aaf49 [CLB] Implemented Gut, True Soul Zealot 2022-05-24 21:23:23 -04:00
Evan Kranzler
a6e231d509 [CLB] fixed Undercity skeleton token 2022-05-18 18:02:10 -04:00
Evan Kranzler
86dad5e54f [CLB] Implemented White Plume Adventurer 2022-05-17 20:18:18 -04:00
Evan Kranzler
32f12d3508 [SNC] Implemented Professional Face-Breaker 2022-04-09 10:57:01 -04:00
Evan Kranzler
80e11b2052
(WIP) Replacing blocking/blocked by predicates (#8729)
* replaced blocking/blocked by predicates

* added test for knight of dusk (currently fails)

* added source parameter to filters and everything else that needs it

* some changes to various predicates

* test fix

* small changes to filter code

* merge fix

* fixed a test failure

* small change to Karn, Scion of Urza

* removed sourceId from filter methods and other similar places

* added new getobject method to fix some test failures

* a few more fixes

* fixed merge conflicts

* merge fix
2022-03-23 18:45:02 -04:00