Commit graph

10848 commits

Author SHA1 Message Date
Evan Kranzler
97bf230464 [SNC] Implemented Raffine, Scheming Seer 2022-03-31 19:22:05 -04:00
Alex W. Jackson
2640877ddc Fix #8811 2022-03-31 17:10:38 -04:00
Alex W. Jackson
6ca93d1936 [VOW] Fix Howlpack Avenger; replace various custom abilities with SavedDamageValue 2022-03-31 08:56:12 -04:00
Evan Kranzler
063bf51bb5 [SNC] Implemented Cabaretti Charm 2022-03-30 22:05:52 -04:00
Alex W. Jackson
09b37a94f8 Fix #8202 2022-03-30 19:49:45 -04:00
Evan Kranzler
ec4feaddfe [SNC] Implemented Obscura Charm 2022-03-29 20:17:07 -04:00
Evan Kranzler
21cf9369ab fixed BBD/CMR duals counting opponents incorrectly (fixes #8796) 2022-03-28 18:28:21 -04:00
Evan Kranzler
124bd261e9 [NEO] fixed Invoke Calamity counting mana value incorrectly 2022-03-28 18:24:28 -04:00
Evan Kranzler
f6306630b3 [TSP] fixed implementation of Weatherseed Totem 2022-03-25 22:21:21 -04:00
Evan Kranzler
945b60c8d0 fixed some NPE issues with player target choosing 2022-03-25 21:16:38 -04:00
Evan Kranzler
9e38671b54 [CLB] Implemented Ancient Brass Dragon 2022-03-25 19:23:14 -04:00
Evan Kranzler
0bfce64ede [CLB] Implemented Wand of Wonder 2022-03-25 18:09:18 -04:00
Evan Kranzler
effdf14579 [VOW] fixed Savior of Ollenbock issues (fixes #8786) 2022-03-25 17:35:27 -04:00
Evan Kranzler
f28643d0f6 [CLB] Implemented Minsc & Boo, Timeless Heroes 2022-03-25 08:21:32 -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
Evan Kranzler
53877424a0 [TSP] small change to paradox haze to not use watcher with argument 2022-03-23 18:44:32 -04:00
Evan Kranzler
474c9655a4 some additional text fixes 2022-03-22 08:46:02 -04:00
Evan Kranzler
313a19865a [HOU] added shared predicate class for Desert controlled or in graveyard 2022-03-21 20:58:39 -04:00
Evan Kranzler
0f1375ca60 fixed various instances of mana costs which don't include braces 2022-03-21 19:10:38 -04:00
Evan Kranzler
a5afba5d5a fixed some cards with malformed mana strings 2022-03-21 18:07:50 -04:00
Evan Kranzler
b61125c0f3 [NEO] added hint to channel lands 2022-03-21 16:32:42 -04:00
Evan Kranzler
36a41a81a3 reorganized ban lists 2022-03-18 17:23:02 -04:00
Evan Kranzler
0d038b1737 reorganized various constructed formats 2022-03-18 09:49:34 -04:00
Evan Kranzler
4967750669 fixed CycleOrDiesTriggeredAbility not differentiating between different types of trigger events 2022-03-17 18:15:36 -04:00
Evan Kranzler
02017b9a88
Implementing The Prismatic Piper (Ready for review) (#8164)
* [CMR] Implemented The Prismatic Piper

* updated commander validation to handle The Prismatic Piper

* created abstract base class for commander variants

* added ability to prismatic piper

* added game init handling

* small revert

* small reorganization of tests

* added some validation tests for piper

* added more tests for piper

* add another test

* added decklist comments to tests

* added some more piper tests

* added another test

* added mana option tests

* added a companion test

* fix conflict

* updated abstract commander to work with Friends forever

* merge fix

* Deck: added details for illegal validation of companion card;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2022-03-17 18:02:29 -04:00
Evan Kranzler
966cb7ccb7 replaced some cast for free effects with newer method 2022-03-16 17:29:49 -04:00
Evan Kranzler
8b7a5c370a added shared class for cards which search for different names 2022-03-16 16:52:13 -04:00
Evan Kranzler
d1b328a2da added common class for searching and exiling 2022-03-16 09:10:30 -04:00
Evan Kranzler
6e132c999c [AFC] reverted change to Sefris of the Hidden Ways, changed 2022-03-15 18:57:24 -04:00
Alex Vasile
b40bde5e12
[AFC] Implemented Share the Spoils (#8583)
* Preliminary implementation of Share the Spoils.

* Added tracking of cards in exile to MageTestPlayerBase in order to help with testing of cards such as Share the Spoils which put and take cards out of exile a lot.

* Moved Share the Spoils to the correct set list.

* Fixed bug with using ’ instead of ' for card text.

* Add method to assert number of cards exiled into a specific exile zone.

* Further implementation of ShareTheSpoils and it's tests.

* Fixed a bug in the calcualtiong of exileNUmber. (I misunderstood what the copy() method was for)

* - Added a watcher which should limit player to only cast the spell once per turn.
- Fixed the tests to run properly (using .LOST instead of .LOSES for the GameEvent).
- A bit of cleaning up of the class

* Updated tests and card to capture both conceding and losing the game through other means.

* Further implementation. All parts are working (though not correctly).

* All pieces are now working. But, both the spend any mana and exile a card off the top of library activate when ANY card is played from exile, not just one exiled with Share the Spoils.

* Replaced changed how I move card from top of library to correct exile zone. Instead of using moveCards() and moveToAnotherZone(), I am not using moveCardsToExile().

* A new card is now properly exiled whenever one is played with Share the Spoils

* Moved inner class out and passing exileId as parameter instead

* Updated text based on comments

* Added several more tests

* Made changes to how exileId is handled based on comments

* Made changes based on comments

* Further changes based on comments

* Add a few more tests (will have to fix them once the exile zone issue is fixed)

* Added workaround for #8706

* Get most of the tests working

* Simplified cardId handling

* Reformat file based on comment

* - Added setStrictChooseMode to all tests
- Properly using checkPlayableAbility for all checks where things can't be played/cast.

* Fixed a missing getMainCardId call that made difficult cards unplayable

* - Simplified handling of casting only once per turn. I don't see the point to keeping the MageReference object. using a simple boolean instead
- This also fixes a bug where multiple cards could be played in the same turn.

* Fixed test for difficult cards.

* Reworked spend mana effect based on Dead Man's chest

* Added a check again a null watcher

* Fixed typo in checkManaSpendingForOtherExileSource

* Fixed tests to use proper checkPlayableAbility syntax.

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-03-15 18:34:36 -04:00
Evan Kranzler
06eeb90b3d replaced some more card moving method calls 2022-03-15 18:08:36 -04:00
Alex W. Jackson
77433d7ee6 Remove more duplicate tokens and rename some tokens to more generic names 2022-03-15 04:23:10 -04:00
Evan Kranzler
9e0ea945ca
Refactoring token names to reflect new rule (ready for review) (#8446)
* updated Riptide Replicator and Volrath's Laboratory

* refactored token names

* some test fixes

* more test fixes

* even more test fixes

* the final test fixes

* fixed a few missed tokens

* merge fix

* fixed a test failure

* fixed test failure

* updated ignored verify test

* fixed token images not appearing

* updated tests
2022-03-14 22:37:21 -04:00
Evan Kranzler
83c94322c6 refactored some instances of Player::moveCardToExileWithInfo 2022-03-14 21:14:12 -04:00
Evan Kranzler
8198322ba5 some changes to ExileSourceCost 2022-03-14 20:31:40 -04:00
Alex W. Jackson
9af399eadb Better changeling token workaround; add additional test (fixes #8766) 2022-03-14 02:43:12 -04:00
Evan Kranzler
82832046b3 fixed issues with changeling tokens not counting as they enter 2022-03-13 22:25:44 -04:00
Alex W. Jackson
79b7a0a627 Remove obsolete adjustCosts and adjustTargets methods from MageObject interface 2022-03-12 19:01:59 -05:00
Evan Kranzler
a5e21b8c9e [DGM] fixed Legion's Initiative not returning exiled creatures (fixes #8761) 2022-03-12 11:21:01 -05:00
Alex W. Jackson
7f4e691685 Fix #8758 2022-03-12 04:08:48 -05:00
Evan Kranzler
783ddb5bdc added split card halves back to database (fixes #8541) 2022-03-11 09:25:35 -05:00
Evan Kranzler
f45e90ad1b fixed a test failure 2022-03-10 23:29:07 -05:00
Evan Kranzler
3535d023b7 removed empty mode constructor 2022-03-10 16:15:08 -05:00
Evan Kranzler
ccecda52fd replaced various instances of ReturnToHandTargetEffect with ReturnFromGraveyardToHandTargetEffect 2022-03-10 15:35:46 -05:00
Evan Kranzler
09636d7332 fixed starting loyalty display in mock card 2022-03-09 20:32:48 -05:00
Evan Kranzler
f94c79f6b4 [ROE] various text fixes 2022-03-09 19:16:33 -05:00
Evan Kranzler
08411b122c [ROE] updated level up text 2022-03-09 18:30:54 -05:00
Evan Kranzler
e67a4f26b4 small change to eternalize and embalm 2022-03-09 17:08:28 -05:00
Evan Kranzler
ef9d79e712 replaced various flavor words with ability words 2022-03-09 16:34:49 -05:00
Evan Kranzler
bbb9382150
Reworking effects which allow casting spells from a selection of cards (ready for review) (#8136)
* added function for casting spells with specific attributes from a selection of cards

* updated cascade to use new method

* refactored various cards to use new methods

* added TestPlayer method

* fixed a small error

* text fix

* broke out some repeated code

* added missing notTarget setting

* add additional retain zone check

* some more cards refactored

* more refactoring

* added interface for split/modal cards

* reworked spell casting methods

* reworked multiple cast to prevent unnecessary dialogs

* fixed test failures due to change in functionality

* add AI code

* small nonfunctional change

* reworked Kaya, the Inexorable

* added currently failing test

* added more tests

* updated Geode Golem implementation

* fixed adventure/cascade interaction, added/updated tests

* some nonfunctional refactoring

* added interface for subcards

* [AFC] Implemented Fevered Suspicion

* [AFC] Implemented Extract Brain

* [AFC] updated Arcane Endeavor implementation

* [C17] reworked implementation of Izzet Chemister

* [ZEN] reworked implemented of Chandra Ablaze

* additional merge fix

* [SLD] updated Eleven, the Mage

* [NEO] Implemented Discover the Impossible

* [NEO] Implemented The Dragon-Kami Reborn / Dragon-Kami's Egg

* [NEO] Implemented Invoke Calamity

* [AFR] Implemented Rod of Absorption

* [VOC] Implemented Spectral Arcanist

* [VOC] added additional printings

* [NEO] added all variants

* [SLD] updated implementation of Ken, Burning Brawler
2022-03-09 08:03:54 -05:00
Evan Kranzler
7fb089db48 [WWK] various text fixes 2022-03-08 21:24:22 -05:00
Evan Kranzler
caa1b7a8d7 [ZEN] various text fixes 2022-03-08 20:59:01 -05:00
Evan Kranzler
6b72142ef2 [MOR] various text fixes 2022-03-08 08:33:09 -05:00
Evan Kranzler
8999a6e647 [SHM] various text fixes 2022-03-07 22:53:52 -05:00
Evan Kranzler
7f95929288 [EVE] various text fixes 2022-03-07 21:04:59 -05:00
Evan Kranzler
e820d9f4f0 reworked champion ability 2022-03-07 20:48:35 -05:00
Evan Kranzler
50b3d3d8d9 [LRW] various text fixes 2022-03-07 20:19:20 -05:00
Alex W. Jackson
baece6e241 [CON] Remove a duplicate token 2022-03-07 14:59:01 -05:00
Alex W. Jackson
813e1816ea [RIX] Remove a duplicate token 2022-03-07 14:26:12 -05:00
Evan Kranzler
87a999ca0e [M10] various text fixes 2022-03-07 09:00:39 -05:00
Evan Kranzler
1582321d26 [ARB] various text fixes 2022-03-06 22:24:16 -05:00
Evan Kranzler
3833d7bab3 updated implementation of Domain value 2022-03-06 18:31:07 -05:00
Evan Kranzler
c8cdc0a502 [CON] various text fixes 2022-03-06 18:07:25 -05:00
Evan Kranzler
edaaac53d9 [ALA] various text fixes 2022-03-06 15:29:47 -05:00
Evan Kranzler
84261a1731 various fixes to look and pick effect text 2022-03-03 18:33:04 -05:00
Evan Kranzler
2675b75c60 various text fixes 2022-03-03 17:57:39 -05:00
Evan Kranzler
d8137e7e05 [M21] a few text fixes 2022-03-03 09:19:17 -05:00
Evan Kranzler
f574e6fc1d [THB] various text fixes 2022-03-03 09:06:05 -05:00
Evan Kranzler
32bf246e77 [NEO] fixed bugs with Kotose, the Silent Spider and March of Reckless Joy (fixes #8737, fixes #8736) 2022-03-02 18:10:26 -05:00
Evan Kranzler
0cc1b152c4 [ONS] Implemented Graxiplon 2022-03-01 19:02:45 -05:00
Evan Kranzler
a7fa431d19 [Y22] Implemented Soulstealer Axe 2022-03-01 17:55:19 -05:00
Evan Kranzler
f4b95d8e2c [Y22] Implemented Faithful Disciple 2022-03-01 17:47:28 -05:00
Evan Kranzler
6094c6eed7 [NEO] reworked implementation of Nashi, Moon Sage's Scion 2022-03-01 08:31:54 -05:00
Evan Kranzler
6c643fdc5e [EVE] fixed implementation of Hotheaded Giant 2022-02-28 08:45:13 -05:00
Alex W. Jackson
2025bca358 Fix more double semicolons in java code 2022-02-25 10:08:18 -05:00
Evan Kranzler
bf699b5559 fixed test failures 2022-02-24 21:12:33 -05:00
Evan Kranzler
eb4366013b reworked auras which grant protection but don't remove themselves 2022-02-24 20:15:16 -05:00
Evan Kranzler
48d139393d [FUT] reworked Daybreak Coronet 2022-02-24 20:15:15 -05:00
Evan Kranzler
3cbfe4d623 [BOK] reworked implementation of Shirei, Shizo's Caretaker and added test 2022-02-24 20:15:15 -05:00
Evan Kranzler
f32d0b3e6e fixed issues with Conspire, added additional tests 2022-02-23 21:37:42 -05:00
Evan Kranzler
86b20185f5 [SHM] reworked implementation of Conspire ability 2022-02-23 09:18:25 -05:00
Alex W. Jackson
15a6d939b7 [BOK] Fix Waxmane Baku ability to be targeted, not choose on resolution 2022-02-22 22:59:21 -05:00
Alex W. Jackson
840058b246 Remove another unused, duplicate Ability class 2022-02-22 20:51:22 -05:00
Alex W. Jackson
7cddea8c63 Intimidate text fixes 2022-02-22 19:47:53 -05:00
Jeff Wadsworth
83e18393f7 - changed to lower-case and added <i> to intimidate keyword. 2022-02-22 17:21:01 -06:00
Evan Kranzler
414018db13 fixed the text on various sliver cards 2022-02-22 17:53:31 -05:00
Evan Kranzler
abc6618cba [SLD] a few more text fixes 2022-02-22 17:51:02 -05:00
Jeff Wadsworth
cf2b6f8366 - Fixed #8707 2022-02-22 16:36:34 -06:00
Alex W. Jackson
dd8d86ba95 Fix Navigator's Compass not working while casting spells 2022-02-20 13:24:57 -05:00
Evan Kranzler
cc8ddbfd7c [KLD] various text fixes 2022-02-20 09:37:58 -05:00
Evan Kranzler
014a4b6941 [AER] various text fixes 2022-02-20 08:43:01 -05:00
Evan Kranzler
d3ebac1776 [SHM] fixed Repel Intruders not being able to be cast when stack is empty (fixes #8715) 2022-02-19 18:32:43 -05:00
Evan Kranzler
3f37b5aa76 updated Heart of Kiran text generation 2022-02-19 17:42:19 -05:00
Evan Kranzler
4868afe0e0 some changes to payment text generation 2022-02-19 17:41:57 -05:00
Evan Kranzler
82b67a2548 [SLD] some more text fixes 2022-02-19 12:59:37 -05:00
Evan Kranzler
ac56e8dd24 [NEO] fixed Mechtitan Core error when exiling only tokens 2022-02-19 09:49:50 -05:00
Evan Kranzler
77cc5646b1 small fix to previous refactor 2022-02-18 22:23:24 -05:00
Evan Kranzler
8040e7d1e8 [NEC] fixed Kotori, Pilot Prodigy's granted crew ability not animating vehicles (fixes #8713) 2022-02-18 22:22:44 -05:00
Jeff Wadsworth
001e8a24e0 - Fixed #8675 2022-02-18 14:34:42 -06:00
Evan Kranzler
e91c6ad65c [SLD] various text fixes 2022-02-18 10:13:15 -05:00
Evan Kranzler
c276e8479b [SLD] Implemented Ken, Burning Brawler 2022-02-17 21:36:59 -05:00
Evan Kranzler
87aa1b326b [SLD] Implemented Chun-Li, Countless Kicks 2022-02-17 21:26:17 -05:00
Evan Kranzler
5f3cb1c9f8 [SLD] Implemented Zangief, the Red Cyclone 2022-02-17 20:55:50 -05:00
Evan Kranzler
4ede390e40 some reworking of Equip, Fortify, and Reconfigure 2022-02-17 18:08:22 -05:00
Evan Kranzler
9c8943384a small nonfunctional cleanup to continuous effects handling 2022-02-17 08:19:52 -05:00
Evan Kranzler
4591ac07cc
Reworking goad effects (ready for review) (#8034)
* changing goad to designation, refactored goad effects to be continuous

* [AFC] Implemented Vengeful Ancestor

* reworked effects which goad an attached creature

* updated goading implementation

* updated combat with new goad logic

* some more changes, added a test

* another fix

* update to test, still fails

* added more failing tests

* more failing tests

* added additional goad check

* small fix to two tests (still failing

* added a regular combat test (passes and fails randomly)

* fixed bug in computer player random selection

* some changes to how TargetDefender is handled

* removed unnecessary class

* more combat fixes, tests pass now

* removed tests which no longer work due to combat changes

* small merge fix

* [NEC] Implemented Komainu Battle Armor

* [NEC] Implemented Kaima, the Fractured Calm

* [NEC] added all variants
2022-02-15 09:18:21 -05:00
Alex W. Jackson
5725873aeb
Fix #8305, #8692 (#8698) 2022-02-15 03:29:27 -05:00
Evan Kranzler
3b6a9c0a9b fixed test failure 2022-02-14 22:29:21 -05:00
Evan Kranzler
8da3a78273 fixed text on various cards which draw and discard 2022-02-14 21:56:07 -05:00
Evan Kranzler
c28da75ac1 some more text fixes for adding counter effects 2022-02-14 21:35:07 -05:00
Evan Kranzler
99e8b80184 [NEO] various text fixes 2022-02-14 21:10:48 -05:00
Evan Kranzler
a2a0466212 [NEC] various text fixes 2022-02-14 20:49:07 -05:00
Evan Kranzler
21dd720336 [NEC] Implemented Smoke Spirits' Aid 2022-02-14 19:15:05 -05:00
Evan Kranzler
3b1b5cec9e [NEC] Implemented Ruthless Technomancer 2022-02-14 17:34:46 -05:00
Evan Kranzler
957eca8d87 [NEO] fixed Go-Shintai of Lost Wisdom milling controller instead of targeted player (fixes #8701) 2022-02-14 17:08:20 -05:00
Daniel Bomar
0694fd3ef7
[NEO] Implemented Kumano Faces Kakkazan / Etching of Kumano (#8674)
* [NEO] Implemented Kumano Faces Kakkazan / Etching of Kumano

* [NEO] Etching of Kumano - Clean up watcher controller check

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2022-02-12 15:05:04 -05:00
Evan Kranzler
cff38b74b9 [NEO] fixed implementation of March additional costs (#8524) 2022-02-12 14:27:35 -05:00
Evan Kranzler
3349c5d327 [NEO] added missing condition to Reconfigure unattach ability 2022-02-10 21:37:50 -05:00
Evan Kranzler
42592072c2 fixed test failure 2022-02-10 19:27:19 -05:00
Evan Kranzler
fcd38fd512 [AER] reworked Heart of Kiran implementation 2022-02-10 18:12:42 -05:00
Evan Kranzler
5ba82fa698 [NEO] updated vehicle crewed trigger to trigger on resolution rather than cost paid 2022-02-10 17:43:05 -05:00
Evan Kranzler
54203c16d3
[NEO] Implementing Compleated mechanic and hybrid phyrexian mana (ready for review) (#8677)
* [NEO] Implemented Tamiyo, Compleated Sage

* replaced PhyrexianManaCost calls with ManaCostsImpl calls

* updated phyrexian mana implementation

* added phyrexian hybrid symbol support

* updated starting loyalty implementation for planeswalkers

* change compleated to singleton

* implemented Compleated ability

* added some missing loyalty setters

* changed when loyalty is added to a walker to fix bugs

* slight change to some tests to fix them from failing

* fixed token issue
2022-02-10 10:25:23 -05:00
Alex Vasile
3709b5c098
[NEO] Implemented Myojin of Cryptic Dreams and Myojin of Grim Betrayal (#8680)
* - Implemented Myojin of Cryptic Dreams and Myojin of Grim Betrayal.
- Updated CardsPutIntoGraveyardWatcher to keep track of all cards that entered the graveyard.
- Added documentation to CardsPutIntoGraveyardWatcher.

* Fixed add indestructible counter ability
2022-02-10 09:23:13 -05:00
Evan Kranzler
6851e553d8 [NEO] various text fixes 2022-02-08 19:41:26 -05:00
Evan Kranzler
b100890cdf [NEO] Implemented Mechtitan Core 2022-02-08 18:38:49 -05:00
Jeff Wadsworth
b83d76bb08 - [NEO] added Eater of Virtue 2022-02-08 09:08:50 -06:00
Evan Kranzler
8bdfff89d0 [NEC] Implemented Go-Shintai of Life's Origin 2022-02-08 08:58:13 -05:00
Evan Kranzler
4f2671f475 [NEC] Implemented Aerial Surveyor 2022-02-08 08:43:47 -05:00
Evan Kranzler
76a1187c8e [NEO] Implemented Fable of the Mirror Breaker / Reflection of Kiki-Jiki 2022-02-07 20:38:03 -05:00
Evan Kranzler
442859497b [NEO] Implemented Invoke Justice 2022-02-07 19:09:06 -05:00
Evan Kranzler
c44d101cfd [NEO] Implemented Tezzeret, Betrayer of Flesh 2022-02-07 17:54:06 -05:00
Daniel Bomar
a64741ff49
[NEO] Implemented Lethal Exploit 2022-02-07 16:49:56 -06:00
Evan Kranzler
c1d5a310d5 [NEO] Implemented Tatsunari, Toad Rider 2022-02-07 08:48:58 -05:00
Alex Vasile
919f320086 Made hint optional for Equip 2022-02-06 21:10:37 -05:00
Evan Kranzler
b130e01187 [NEO] Implemented Crackling Emergence 2022-02-06 19:21:09 -05:00
Alex Vasile
4dc0a21e7b
Implemented empty functions setIsAllCreatureTypes for Commander. (#8660)
* Implemented empty functions `setIsAllCreatureTypes` for Commander.

* Rather than copy and pasting the code, call source object

* Add pass-through for isAllCreatureTypes
2022-02-06 18:16:41 -05:00
Evan Kranzler
f7b1078210 removed unfinished text changing implementation 2022-02-06 18:09:41 -05:00
Alex Vasile
24ff47c803 Fixed hints on ward 2022-02-06 17:04:25 -05:00
Evan Kranzler
c7f65031a1 [NEO] Implemented March of Swirling Mist 2022-02-06 16:07:58 -05:00
Evan Kranzler
2783f55765 [NEO] Implemented March of Otherworldly Light 2022-02-06 16:01:37 -05:00
Evan Kranzler
5ed88aae91 fixed #8662 2022-02-06 15:40:49 -05:00
Evan Kranzler
495fc57540 [NEO] Implemented Reconfigure abliity 2022-02-06 12:27:12 -05:00
Alex Vasile
5945aaeda4
[VOC] Implemented Shadowgrange Archfiend AND Changed MadnessAbility (#8628)
* Implemented Shadowgrange Archfiend

* Changed MadnessAbility to work with cards which also require life to be paid as part of the madness cost (so far only Shadowgrange Archfiend).

* Updated Shadowgrange Archfiend to work with new Madness implementation (and actually cost life to cast using madness)

* Removed unnecessary variable
2022-02-06 11:36:19 -05:00
Evan Kranzler
9ec6b617b8 [NEO] Implemented Shigeki, Jukai Visionary 2022-02-06 11:10:40 -05:00
Alex Vasile
2996b0f76f Changed getTopCards to use LinkedHashSet to always return cards in the same order that they are in the library. 2022-02-06 10:08:17 -05:00
Evan Kranzler
5940ff7cfd [NEO] Implemented Kura, the Boundless Sky 2022-02-05 21:02:13 -05:00
Alex Vasile
5611f41949
[VOC] Implemented Mirage Phalanx (#8654)
* Implemented Mirage Phalanx

* Changed based on first set of comments

* Reordered variables in alphabetical order

* Added support for removing abilities from a token before creating it.

* Fixed typo in CreateTokenCopyTargetEffect, should have been getAddedPermanents not getAddedPermanent (with the s).

* Updated how soulbond is removed from MiragePhalanx tokens

* Fixed missing fields in the copy constructor

* - Refactoring the exileTokensCreated function to exile all tokens as a single trigger.
- Changed Mirage Phalanx to use the new exileTokensCreated function
- changed ’ to '
2022-02-05 20:38:12 -05:00
Evan Kranzler
b92128dd41 [NEO] Implemented Bronze Cudgels 2022-02-05 18:22:42 -05:00
Evan Kranzler
266addb4e1 small update to crew ability to reflect rule change 2022-02-05 17:50:51 -05:00
Evan Kranzler
be7e936fc1 [NEO] Implemented Inventive Iteration / Living Breakthrough 2022-02-05 17:50:50 -05:00
Daniel Bomar
dfb3f87bb3
[NEO] Implemented Flame Discharge 2022-02-05 15:14:04 -06:00
Evan Kranzler
f20cbd934f [NEO] Implemented Dragonspark Reactor 2022-02-05 15:08:00 -05:00
Alex Vasile
331728c238
[VOC] Implemented Donal, Herald of Wings (#8653)
* Implemented Donal, Herald of Wings

* Made the spell work only once per turn

* Made the spell work only once per turn

* - Changed based on Nykthos Paragon
- Fixed properly adjusting power and toughness
- Fixed card text
2022-02-05 14:55:27 -05:00
Evan Kranzler
60e75f5bc5 [NEO] Implemented Careful Cultivation 2022-02-05 10:12:04 -05:00
Evan Kranzler
a00e4430d2 [NEO] Implemented Gift of Wrath 2022-02-05 09:25:30 -05:00
Oleg Agafonov
3cb721fbd9 [VOW] added tokens and images support 2022-02-05 14:44:46 +04:00
Oleg Agafonov
dd72e078b5 [VOW] Dorothea's Retribution - fixed wrong token 2022-02-05 14:26:28 +04:00
Oleg Agafonov
424fc919a7 [VOC] added tokens and images support 2022-02-05 13:03:35 +04:00
Oleg Agafonov
1fcdbe4b63 Fixed miss default token constructors 2022-02-05 12:33:40 +04:00
Oleg Agafonov
54a1efec63 [MID] added tokens and images support 2022-02-05 12:22:39 +04:00
Evan Kranzler
6d1c7595bf small fix to saga text generation 2022-02-04 20:52:00 -05:00
Evan Kranzler
0345580fa7 [NEO] Implemented Farewell 2022-02-04 17:41:45 -05:00
Jeff Wadsworth
93f14cdf61 - Fixed #8624 2022-02-04 11:49:34 -06:00
Evan Kranzler
6c9fc1679d [NEO] Implemented The Long Reach of Night / Animus of Night's Reach 2022-02-04 09:16:57 -05:00
Evan Kranzler
be8fec609d [NEO] Implemented Invoke the Ancients 2022-02-04 07:50:49 -05:00
Evan Kranzler
c75431f27b [NEO] Implemented Weaver of Harmony 2022-02-03 20:07:31 -05:00
Evan Kranzler
04129c55fa [NEO] Implemented Mobilizer Mech 2022-02-03 20:07:31 -05:00
Daniel Bomar
8477260070
[NEO] Implemented Azusa's Many Journeys / Likeness of the Seeker 2022-02-03 14:04:48 -06:00
Daniel Bomar
0e23fae634
[NEO] Implemented Tribute to Horobi / Echo of Death's Wail 2022-02-03 12:57:27 -06:00
Oleg Agafonov
be114bb592 [MIC] added tokens and images support 2022-02-03 21:40:34 +04:00
Evan Kranzler
25f47bde63 refacted SourceTappedCondition to use a single enum 2022-02-02 21:35:20 -05:00
Evan Kranzler
ba05bc13c4 [NEO] Implemented Behold the Unspeakable / Vision of the Unspeakable 2022-02-02 19:59:59 -05:00
Evan Kranzler
076b08d07b [NEO] Implemented The Fall of Lord Konda / Fragment of Konda 2022-02-02 19:59:57 -05:00
Oleg Agafonov
0cb9266a15 [AFC] added tokens and images support 2022-02-02 13:13:49 +04:00
Oleg Agafonov
edd6fba06f
Merge pull request #8618 from Alex-Vasile/fix-dual-face-card-import
Added support for importing double-faced cards in the deck-editor.
2022-02-01 21:02:59 +04:00
Daniel Bomar
2a3efadad0
[NEO] Implemented Awakened Awareness 2022-02-01 10:34:06 -06:00
Evan Kranzler
b4b7a937eb [NEO] Implemented Prodigy's Prototype 2022-02-01 09:28:46 -05:00
Evan Kranzler
4409a0aa95 [NEO] Implemented Hotshot Mechanic 2022-02-01 09:21:33 -05:00
Evan Kranzler
577da37f6e [NEO] Implemented Sokenzan Smelter 2022-01-31 20:32:53 -05:00
Evan Kranzler
27ee3d1c93 [NEO] Implemented Guardians of Oboro 2022-01-31 20:10:04 -05:00
Alex W. Jackson
de3f7cbbfb Fix #6671 2022-01-31 16:55:58 -05:00
Evan Kranzler
89b5678cf4 [NEO] Implemented Life of Toshiro Umezawa / Memory of Toshiro 2022-01-31 08:35:03 -05:00
Evan Kranzler
87d74a4cf9 simplified default saga constructor 2022-01-31 08:22:43 -05:00
Alex W. Jackson
86160b7613 Text fixes 2022-01-31 01:00:38 -05:00
Alex Vasile
3a9543d847
Replaced several custom "noncreature spell" filters with the main static one available. (#8625) 2022-01-30 22:23:46 -05:00
Evan Kranzler
d030848552
Reworking "as long as you control this" effects (WIP) (#8620)
* added WhileControlled duration, removed SourceOnBattlefieldControlUnchangedCondition

* refactored effects which keep things tapped

* a few additional missed cards

* refactored cards which check for being controlled and tapped

* [NEO] Implemented Kyodai, Soul of Kamigawa
2022-01-30 22:00:10 -05:00
Alex W. Jackson
2b7a67d6e6 [M14] Remove a duplicate token 2022-01-30 19:28:48 -05:00
Evan Kranzler
a76f6fbdf8 [NEO] Implemented Naomi, Pillar of Order 2022-01-30 16:30:08 -05:00
Evan Kranzler
6a6b591549 [NEO] Implemented Sokenzan, Crucible of Defiance 2022-01-30 16:10:12 -05:00
Evan Kranzler
2f189c1dec [NEO] Implemented Banishing Slash 2022-01-30 15:32:58 -05:00
Evan Kranzler
c77459b7a0 [NEC] Implemented Chishiro, the Shattered Blade 2022-01-30 14:14:40 -05:00
Evan Kranzler
6402845e27 [NEO] Implemented Michiko's Reign of Truth / Portrait of Michiko 2022-01-30 10:09:49 -05:00
Evan Kranzler
c459578a68 [NEO] Implemented The Wandering Emperor 2022-01-29 21:38:14 -05:00
Alex Vasile
6647c36f07 Added support for importing double-faced cards in the deck-editor. 2022-01-29 19:39:11 -05:00
Evan Kranzler
5cbc93b67e [NEO] Implemented Imperial Subduer 2022-01-29 17:29:05 -05:00
Evan Kranzler
62fa79cfd8 added AttacksAloneControlledTriggeredAbility 2022-01-29 17:13:15 -05:00
Evan Kranzler
37c7573acd [NEO] Implemented Leech Gauntlet 2022-01-29 10:17:34 -05:00
Alex Vasile
d24dc008a8
Replaced several created filters inside card classes with pre-built static filters and simplified 3 cards (#8612) 2022-01-29 00:05:12 -05:00
Alex W. Jackson
140be70fb8 Improve WishEffect text and refactor ctors (if filter exists, wished for card must be revealed) 2022-01-28 23:54:32 -05:00
Alex W. Jackson
8376e7a1a3 fix FightTargetsEffect copy constructor 2022-01-28 20:04:20 -05:00
Alex W. Jackson
2941487219 Improve DiscardCardYouChooseTargetEffect and use it for many cards that were using custom effects 2022-01-28 13:43:46 -05:00
Oleg Agafonov
1b98b9fde3
Merge pull request #8608 from Alex-Vasile/znr-fix-text-issues
Znr fix text issues
2022-01-28 18:56:49 +04:00
Evan Kranzler
e09d32c325 [NEO] Implemented Greater Tanuki 2022-01-28 08:41:55 -05:00
Alex Vasile
ffa05bf9db - Fixed Khalni Ambush
- Added Effect hint for FightTargetsEffect
- Added test for FightTargetsEffect hint to VerifyCardDataTest (for #6728)
2022-01-28 00:55:23 -05:00
Evan Kranzler
b60b7525c0 [NEO] Implemented Goro-Goro, Disciple of Ryusei 2022-01-27 22:17:04 -05:00
Evan Kranzler
68edee6d32 [NEO] Implemented The Shattered States Era / Nameless Conqueror 2022-01-27 21:08:19 -05:00
Evan Kranzler
6eda309765 renamed gender class to pronoun class 2022-01-27 20:36:53 -05:00
Evan Kranzler
47bbb70675 [STX] fixed Lukka, Wayward Bonder emblem not damaging players 2022-01-27 20:13:44 -05:00
Alex Vasile
d33acc7c80
Fixed Wording on 2 cards and removed duplicate StaticFilter (#8596)
Closes #6643
2022-01-25 21:08:46 -05:00
Alex W. Jackson
26a2e0a5ed Various text fixes found while closing #6885 2022-01-24 00:40:25 -05:00
Alex W. Jackson
faf2e4ec82 Improve text generation for DamageMultiEffect 2022-01-22 11:55:20 -05:00
Oleg Agafonov
d995be0ee6 Dev: downgraded protobuf lib for build compatibility (fix #8575); 2022-01-22 00:10:18 +04:00
Alex Vasile
25344b9ca3 Updated com.google.protobuf from 3.0.0 to 3.18.0 2022-01-21 13:43:11 -05:00
Alex W. Jackson
fa1051cec3 Fix #8556 2022-01-14 18:45:43 -05:00
Alex W. Jackson
d4c4b95206 [ALA] fix some card text 2022-01-13 05:42:28 -05:00
Jeff Wadsworth
1810c2c778 - Fixed #8157 2022-01-11 14:42:45 -06:00
Alex W. Jackson
13baf726e9 Fix log message for 'put into library N from top' effects 2022-01-09 00:42:14 -05:00
Jeff Wadsworth
5b70f36041 - removed debugging line 2022-01-07 10:25:48 -06:00
Jeff Wadsworth
75375f2ed5 - Fixed #8497 2022-01-07 10:24:17 -06:00
Alex W. Jackson
f1ff4dbd0e Remove an unused and functionally duplicated Filter class 2022-01-06 03:51:46 -05:00
Alex W. Jackson
6892776e28 Fix Slate Street Ruffian and Thresher Beast. Simplify various similar cards 2022-01-04 06:17:42 -05:00
Alex W. Jackson
635e70e77e Deleted two duplicate Ability classes 2022-01-02 14:54:56 -05:00
Evan Kranzler
e8bc3d01ad changed ninjutsu ability cost to mana string 2021-12-27 21:43:45 -05:00
Evan Kranzler
a6fcaab698 fixed various instances of getting source name (fixes #8531, fixes #8528) 2021-12-24 19:30:31 -05:00
Alex W. Jackson
d357f4a0b0 Add MDFC support to CardCriteria and use it for ZNR 2021-12-24 03:38:48 -05:00
Alex W. Jackson
a4ced51058 CardCriteria: fix subtype 2021-12-24 03:06:33 -05:00
Alex W. Jackson
881fdcaa08 Remove no longer needed CardCriteria workaround 2021-12-24 03:05:28 -05:00
Alex W. Jackson
3ac82adb4d Fix Nivix Cyclops and clean up some similar cards 2021-12-18 19:53:27 -05:00
Evan Kranzler
5845630af9 [NEO] Implemented Kaito Shizuki 2021-12-17 18:45:39 -05:00
Alex W. Jackson
f1390faf58 Rework Cephalid Snitch. Fixes #8520 2021-12-15 04:16:29 -05:00
Alex W. Jackson
743f9e4b3b Remove unused (but memory leaking) static field from ProtectionAbility 2021-12-14 22:33:32 -05:00
Alex W. Jackson
ed47416972 Add static filter for 'nonblack creature' 2021-12-11 15:30:15 -05:00
Alex W. Jackson
62bc6ed848 Fix Spectral Prison rules text. Add filter support to BecomesTargetAttachedTriggeredAbility 2021-12-05 02:10:21 -05:00
Daniel Bomar
fe3595c3f6
Fixed cards with multiple kicker costs not being copied correctly 2021-12-04 09:36:58 -06:00
Daniel Bomar
a8f7cfa17d
Fixed kicker costs not getting reset correctly (fixes #8495) 2021-12-03 19:10:02 -06:00
Evan Kranzler
c93af17190 updated static filter test to detect multiple errors at once 2021-12-02 09:11:08 -05:00
Evan Kranzler
2d54a2e313 [UNF] Implemented Saw in Half 2021-11-30 09:36:02 -05:00
Evan Kranzler
e3b2ac15ba added cardutil method for incrementing map values 2021-11-29 21:34:04 -05:00
Evan Kranzler
90ae244fa5 [UNF] Implemented The Space Family Goblinson 2021-11-29 21:05:33 -05:00
Oleg Agafonov
a6b2bea8af Images: added direct image links support in scryfall, added SLD's alternative images from second sides (example: Zndrsplt, Eye of Wisdom); 2021-11-28 01:17:54 +04:00
Evan Kranzler
fba68a7255 removed instances of incorrect quote characters, expanded test 2021-11-24 20:56:31 -05:00
Jeff Wadsworth
cb6498e0d7 - Fixed #8468 2021-11-19 11:52:24 -06:00
Evan Kranzler
8e3c04cac2 fixed a test failure 2021-11-17 22:31:32 -05:00
Evan Kranzler
1aa1d71a96 [VOC] Implemented Breath of the Sleepless 2021-11-17 20:55:11 -05:00
Evan Kranzler
2d14d0647d renamed a static filter 2021-11-17 08:32:38 -05:00
Evan Kranzler
dcb08be4c3 added static filter test, a few other small changes 2021-11-17 08:31:50 -05:00
Oleg Agafonov
afdae939c3 * Becomes a copy abilities: improved support with MDF cards (#8335); 2021-11-17 16:27:18 +04:00
Oleg Agafonov
35b257bd8f Fixed miss lock code in static filters; 2021-11-17 16:00:14 +04:00
Oleg Agafonov
f911a42903 Fixed outdated db version 2021-11-17 15:59:35 +04:00
Jeff Wadsworth
e989c05247 - Fixed #8455 2021-11-15 11:27:47 -06:00
Evan Kranzler
b625aa05c5 updated some fight effect text 2021-11-14 15:30:27 -05:00
Evan Kranzler
7b184a76fa a few more exile from graveyard fixes 2021-11-14 11:10:23 -05:00
Evan Kranzler
53f6bc372a [VOC] various text fixes 2021-11-13 18:58:28 -05:00
Evan Kranzler
652dd49940 updated fight effect text 2021-11-13 18:30:42 -05:00
Evan Kranzler
b286d70447 some text fixes for exile graveyards 2021-11-13 18:01:41 -05:00
Oleg Agafonov
a480e10bd8 DB: added numerical card number field for min/max query (#8383); 2021-11-14 01:27:58 +04:00
Oleg Agafonov
23bcc9dbb5 * GUI: fixed that card viewer or deck editor doesn't show transform button for some cards (#8448); 2021-11-14 00:33:37 +04:00
Evan Kranzler
9c5f63403a [VOC] Implemented Rhoda, Geist Avenger 2021-11-13 12:39:14 -05:00
Evan Kranzler
6b2fc867f4 [VOW] some more text fixes 2021-11-12 19:58:50 -05:00
Evan Kranzler
783a818cb7 [VOW] Implemented Alchemist's Gambit 2021-11-12 09:11:00 -05:00
Evan Kranzler
5260d6d363 [VOW] Implemented Curse of Hospitality 2021-11-12 08:52:57 -05:00
Evan Kranzler
38f0e83274 [VOW] various text fixes 2021-11-11 21:59:56 -05:00
Evan Kranzler
8de8a24227 [VOW] Implemented Ill-Tempered Loner / Howlpack Avenger 2021-11-11 20:04:22 -05:00
Evan Kranzler
03926f114f [VOW] Implemented Voltaic Visionary / Volt-Charged Berserker 2021-11-11 19:47:20 -05:00
Jeff Wadsworth
0600c0e7d5 - Fixed #8436 2021-11-11 16:35:15 -06:00
Daniel Bomar
24fab24440
[VOW] Implemented Jacob Hauken, Inspector / Hauken's Insight 2021-11-11 10:49:26 -06:00
Alex W. Jackson
e1a345339d Merge branch 'master' of https://github.com/magefree/mage 2021-11-11 08:49:00 -05:00
Alex W. Jackson
379550689f Refactor generation of boosters with a special uncommon/rare slot (e.g. WAR planeswalker slot) 2021-11-11 08:48:50 -05:00
Evan Kranzler
ffc3c07b41 fixed a test failure 2021-11-11 08:46:59 -05:00
Evan Kranzler
51e88b8e19 [VOW] Implemented Savior of Ollenbock 2021-11-11 08:14:39 -05:00
Evan Kranzler
ca16f363c8 refactored effects which cause other permanents to enter tapped 2021-11-11 07:51:12 -05:00
Alex W. Jackson
5287e1aa4d CardCriteria: use constants instead of strings for supertype and subtype 2021-11-11 05:50:13 -05:00
Evan Kranzler
f5141843ff [VOW] Implemented Biolume Egg / Biolume Serpent 2021-11-10 21:10:01 -05:00
Daniel Bomar
91300cebed
[VOW] Implemented Chandra, Dressed to Kill 2021-11-10 12:00:38 -06:00
Daniel Bomar
395136259f
[VOW] Implemented Cemetery Illuminator 2021-11-10 09:13:02 -06:00
Evan Kranzler
599e5c2a4f [VOW] Implemented Howlpack Piper / WIldsong Howler 2021-11-10 09:47:45 -05:00
Evan Kranzler
e30ba1b62a [VOW] Implemented Toxrill, the Corrosive 2021-11-10 08:09:57 -05:00
Alex W. Jackson
bb2546badd
Refactor rules text generation for P/T boost effects. Fixes #8421 2021-11-10 06:40:11 -05:00
Evan Kranzler
900f9d845c [VOC] Implemented Ethereal Investigator 2021-11-09 07:49:24 -05:00
Oleg Agafonov
3284cb5b24 GUI: fixed wrong card sides, data and errors for transform and double side cards; 2021-11-09 10:16:39 +04:00
Daniel Bomar
7082b86eb3
[MID] Implemented Disturb mechanic (#8201)
* [MID] Implemented Disturb mechanic

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-11-09 10:12:50 +04:00
Evan Kranzler
1195016399 [VOW] Implemented Kaya, Geist Hunter 2021-11-08 20:50:13 -05:00
Evan Kranzler
1656324329 [VOW] Implemented Undead Butler 2021-11-08 20:30:30 -05:00
Evan Kranzler
5dbc8f11f3 [VOW] Implemented Hiveheart Shaman 2021-11-08 20:15:55 -05:00
Daniel Bomar
902fec22dd
[VOW] Implemented Spiked Ripsaw 2021-11-08 09:58:20 -06:00
Evan Kranzler
8856d0a0ea [VOW] Implemented Edgar, Charmed Groom / Edgar Markov's Coffin 2021-11-08 08:33:14 -05:00
Evan Kranzler
10185a0999 [VOW] Implemented Screaming Swarm 2021-11-08 08:04:16 -05:00
Evan Kranzler
3801325a04 added TransformIntoSourceTriggeredAbility to simplify copied code 2021-11-07 08:31:23 -05:00
Evan Kranzler
81c7a29947 [VOW] Implemented Faithbound Judge / Sinner's Judgment 2021-11-06 21:34:31 -04:00
Evan Kranzler
1f2fa8d8dc [VOW] Implemented Gutter Skulker / Gutter Shortcut 2021-11-06 19:30:49 -04:00
Evan Kranzler
fcc1481679 [VOW] Implemented Lacerate Flesh 2021-11-06 13:57:47 -04:00
Evan Kranzler
12588ea40b [VOW] Implemented Rural Recruit 2021-11-05 20:18:36 -04:00
Evan Kranzler
ecfe08cee0 moved TransformAbility into DayboundAbility for simplicity 2021-11-05 19:59:00 -04:00
Evan Kranzler
30afb11cd2
Implementing Daybound/Nightbound mechanic (#8200)
* adding initial day/night support in game state

* remove card exclusion for testing

* added functional implementation to abilities from main branch

* functionally implemented NightCondition

* updated DayNightHint

* added support for nightbound entering transformed at night

* [MID] Implemented Unnatural Moonrise

* [MID] Implemented The Celestus

* added some docs

* changed access for state day/night methods

* added transformation to day/night switch

* re-added unfinished filter, removed day/night cards

* fixed some errors with transforming

* added hints to all day/night cards

* added transformation prevention plus a test

* added Immerwolf test

* [MID] Implemented Tovolar, Dire Overlord / Tovolar, The Midnight Scourge

* refactored some cards to not use isTransformable

* removed transformable parameter

* simplified some transform code

* fixed null pointer exception

* removed unnecessary canTransform method

* fixed a small error

* reworked implementation of rule 701.28f

* small change in transform logic

* fixed failiing test

* fixed verify failure

* small merge change

* added support for day/night switching based on spells cast

* [MID] Implemented Curse of Leeches / Leeching Lurkers

* moved day/night handling to untap step

* added tests for cards which set day and trigger from a change

* [MID] Implemented Ludevic, Necrogenius / Olag, Ludevic's Hubris

* added support for creatures transforming to match day/night when necessary

* fixed verify failures

* fixed another verify failure

* remove temporary verify skip

* added transform message

* removed unnecessary transform message

* [MID] Implemented Angelic Enforcer / Enduring Angel

* updated DayNightHint with more information

* fixed verify failure

* merge fix

* fixed Startled Awake / Persistent Nightmare / Moonmist interaction

* added another test for Moonmist

* merge fix

* merge fix

* [MID] Implemented Baneblade Scoundrel / Baneclaw Marauder

* merge fix

* [MID] various text fixes

* [MID] a few more text fixes

* Merge fix

* Improved transform game logs (hints, source), fixed day/night logs, fixed miss game param (due code style);

* fixed a test failure

* Merge fix

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-11-05 23:11:23 +04:00
Evan Kranzler
950aacd6fc [VOW] Implemented Sanguine Statuette 2021-11-05 09:31:54 -04:00
Evan Kranzler
8091538bbc [VOW] Implemented Sigardian Palading 2021-11-05 08:52:58 -04:00
Evan Kranzler
4088159bf9 [VOW] Implemented Wash Away 2021-11-04 21:56:33 -04:00
Daniel Bomar
b4f81efef8
[VOW] Implemented Manaform Hellkite 2021-11-03 16:10:34 -05:00
Evan Kranzler
6a3b768ca6 [VOW] Implemented Ancient Lumberknot 2021-11-02 19:27:30 -04:00
Evan Kranzler
ee09285d54 small reworking to PermanentsOnTheBattlefieldCondition 2021-11-02 19:00:54 -04:00
Evan Kranzler
fb38ee9b8d [VOW] Implemented Groom's Finery 2021-11-02 09:12:35 -04:00
Daniel Bomar
d0466ff6f3
[VOW] Implemented Investigator's Journal 2021-11-01 09:23:30 -05:00
Evan Kranzler
e36dac83f2 [VOW] Implemented Kessig Wolf Rider 2021-11-01 09:02:51 -04:00
Evan Kranzler
5203714d07 [VOW] Implemented Rending Flame 2021-10-31 15:22:40 -04:00
Daniel Bomar
3bac561d07
[VOW] Implemented Hallowed Haunting 2021-10-31 10:38:08 -05:00
Daniel Bomar
105e1f8ed9
[MID] Teferi, Who Slows the Sunset - Fixed targets on +1 ability (fixes #8423) 2021-10-31 08:28:58 -05:00
Evan Kranzler
492d1ce957 [VOW] Implemented Torens, Fist of the Angels 2021-10-29 22:34:59 -04:00
Daniel Bomar
af290a4771
[VOW] Implemented Grolnok, the Omnivore 2021-10-29 21:24:12 -05:00
Alex W. Jackson
91176a19dd ObjectColor objects are mutable, so let's not assign the 'constant' ones to variables 2021-10-29 13:56:48 -04:00
Daniel Bomar
096a2868a9
[VOW] Implemented Sorin the Mirthless 2021-10-29 12:25:52 -05:00
Alex W. Jackson
1e6709de46
New booster color validation algorithm, fixes #8177 (#8413) 2021-10-29 11:51:37 -04:00
Daniel Bomar
5fd961aefe
[VOW] Implemented Wedding Announcement 2021-10-29 09:20:42 -05:00
Evan Kranzler
6d488d9900 [VOW] Implemented Fell Stinger 2021-10-29 08:10:37 -04:00
Evan Kranzler
d8718a5fb5 [VOW] Implemented Apprentice Sharpshooter 2021-10-28 20:29:15 -04:00
Evan Kranzler
06f76eadec [VOW] Implemented Gluttonous Guest 2021-10-28 20:19:40 -04:00
Evan Kranzler
d289348483 [VOW] Implemented Dig Up 2021-10-28 20:10:31 -04:00
Oleg Agafonov
05222f3bdc
Merge pull request #8400 from weirddan455/decayed
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343)
2021-10-23 10:27:49 +04:00
Daniel Bomar
bcacb870af
Text fixes (fixes #8399) 2021-10-22 23:50:30 -05:00
Daniel Bomar
5a6bfb710e
Fixed more instances of missing sub abilities 2021-10-22 19:12:19 -05:00
Daniel Bomar
060ea7da83
Add sub abilities in TokenImpl.addAbility and PermanentImpl.addAbility (fixes #8343) 2021-10-22 17:32:51 -05:00
Daniel Bomar
27d4fb13c3
Fixed combat information not being preserved in LKI and added unit test 2021-10-21 20:24:51 -05:00
Daniel Bomar
5e67314c96
[AFC] Implemented Death Tyrant 2021-10-21 15:26:01 -05:00
Daniel Bomar
e8db40bb8d
[C21] Fixed Fractal Harness adding too many counters on attack (fixes #8377) 2021-10-20 14:38:05 -05:00
Daniel Bomar
aa4397dee5
BalanceEffect - Fixed effect when a player has 0 permanents/cards (fixes #7950) 2021-10-19 21:53:25 -05:00
Oleg Agafonov
fa79c1eba5
Merge pull request #8394 from weirddan455/ward
Fixed Ward countering wrong ability (fixes #8378)
2021-10-19 10:32:03 +04:00
Jeff Wadsworth
328b1f1eec - non-card refactoring related to #8375 2021-10-18 14:02:57 -05:00
Daniel Bomar
aa96a4af86
Fixed Ward countering wrong ability (fixes #8378) 2021-10-17 19:08:50 -05:00
Evan Kranzler
3bba2a308d [SLD] Implemented Dustin, Gadget Genius 2021-10-14 18:57:44 -04:00
Alex W. Jackson
7926193e34
Refactor ExpansionSet and its subclasses (#8382)
* Don't purge cards-by-rarity cache between tournaments

* Move DOM and WAR specific checks out of base ExpansionSet class

* Move Battlebond specific methods out of base ExpansionSet class

* Refactor ExpansionSet and subclasses

* Zendikar boosters also only have full-art basic lands

* Fix Eldritch Moon (#8171)
2021-10-13 11:47:23 -04:00
Evan Kranzler
ce88658495 [GRN] various text fixes 2021-10-12 10:16:20 -04:00
Evan Kranzler
f98069e829 [ZNR] a few text fixes 2021-10-10 17:16:03 -04:00
Evan Kranzler
79235d9ad6 small change to conditional triggered ability text generation 2021-10-10 16:07:34 -04:00
Evan Kranzler
f7e821be2f
Reworking effects that allow controlling combat (WIP) (#8159)
* reworked effects that allow controlling combat

* [AFC] Implemented Berserker's Frenzy

* [AFC] updated Berserker's Frenzy to roll correctly
2021-10-10 10:25:10 -04:00
Evan Kranzler
f14e15d33a replace some instances of getPlayers with getPlayersInRange (#8348) 2021-10-07 19:20:18 -04:00
Evan Kranzler
2506261063 [MIC] Implemented Gorex, the Tombshell 2021-10-07 09:32:26 -04:00
Jeff Wadsworth
22493c22af - Fixed #8299 2021-10-05 16:54:49 -05:00
Evan Kranzler
f3d643a351 [MID] a few more text fixes 2021-10-05 08:20:37 -04:00
Evan Kranzler
4fe2904f3f [MIC] various text fixes 2021-10-04 21:16:14 -04:00
Evan Kranzler
53540b9b36 [MID] various text fixes 2021-10-04 20:37:31 -04:00
Oleg Agafonov
58ab020065 Dev: pom clean up, improved parent/child structure; 2021-10-03 18:11:56 +04:00
Jeff Wadsworth
c45f8c91a3 - Fixed #8329 2021-10-01 15:56:40 -05:00
Oleg Agafonov
93bc20ee5a
Merge pull request #7945 from magefree/dependabot/maven/com.j256.ormlite-ormlite-jdbc-5.6
Bump ormlite-jdbc from 5.1 to 5.6
2021-10-01 22:09:57 +04:00
Oleg Agafonov
1c6eb10bd1 Dev: migrated to single json lib (removed json-simple from deck import code), clean up guava lib usage in cards; 2021-10-01 17:57:54 +04:00
Oleg Agafonov
fa70af6131 Dev: removed test data from resources to data folder; 2021-10-01 14:10:39 +04:00
Evan Kranzler
7b1e3fae7b [MIC] Implemented Wall of Mourning 2021-09-30 08:52:24 -04:00
Daniel Bomar
4943a16464
Merge pull request #8330 from weirddan455/prevent-damage
Removed game.preventDamage method (fixes #8280)
2021-09-29 15:32:50 -05:00
Jeff Wadsworth
970125c5c4 - small refactor Foretell ability 2021-09-29 09:45:08 -05:00
Alex W. Jackson
edbb99f0ba
Implement booster collation for (original) Innistrad and Dark Ascension (#8339) 2021-09-29 09:03:46 -04:00
Oleg Agafonov
f9beed6a89 Dev: clear pom files, fixed wrong test packages and scope, added zip tests; 2021-09-29 16:01:36 +04:00
Jeff Wadsworth
6f76c3371e - Fixed #8334. Refactored and simplified some aspects of the Foretell ability. 2021-09-28 16:49:43 -05:00
Jeff Wadsworth
7ba3a8f637 Merge branch 'master' of https://github.com/magefree/mage 2021-09-27 16:35:23 -05:00
Jeff Wadsworth
7ca17020ef - Fixed #8317 2021-09-27 16:35:10 -05:00
Daniel Bomar
eec3c44f1e
Removed game.preventDamage method (fixes #8280) 2021-09-27 16:01:28 -05:00
Oleg Agafonov
0e1abaec5d Dauthi Voidwalker - fixed that it doesn't work with cards (related to a3ca9fc03a); 2021-09-27 23:29:41 +04:00
Evan Kranzler
11d5fc7eae [MIC] Implemented Prowling Geistcatcher 2021-09-27 08:40:16 -04:00
Evan Kranzler
a87b28f348 [MID] various text fixes 2021-09-26 14:34:32 -04:00
Oleg Agafonov
f3b8f0a44a * Hextproof from color - improved card icon, added details in icon's popup text; 2021-09-26 00:31:17 +04:00
Oleg Agafonov
95b782d519 Tests for #5630 2021-09-25 18:09:21 +04:00
Evan Kranzler
b895611c4d
Updating standard (don't merge until 9/24) (#8297)
* removed rotated cards from standard ban list

* updated standard legality to handle sets releasing after fall set inn the same year

* some more updates to standard

* small change
2021-09-24 22:07:12 -04:00
jeff@delmarus.com
b963168f35 - hopefully line spacing is rectified on my client 2021-09-23 19:26:01 -05:00
Evan Kranzler
3a3e3fda48 various files converted from CRLF to LF 2021-09-23 19:37:47 -04:00
Jeff Wadsworth
ea561892f5 - Fixed #8293 2021-09-23 16:45:35 -05:00
Jeff Wadsworth
4c88d2ae5e - a real fix for #5630 2021-09-23 12:02:29 -05:00
Alex W. Jackson
384051d9eb
Make BoosterCollator not share state between tables on a server (#8312) 2021-09-23 08:06:08 -04:00
Evan Kranzler
bcb42b8f46 simplified ObjectSourcePlayerPredicate interface 2021-09-22 21:20:55 -04:00
Jeff Wadsworth
b0094331b4 Fixed #5630 2021-09-22 16:46:52 -05:00
Evan Kranzler
4ab41a5b12 [MID] updated Teferi, Who Slows the Sunset emblem 2021-09-22 09:39:21 -04:00
Raphael "who?!" Kehldorfer
aec68ac9d5
[MID] Implemented Teferi, Who Slows the Sunset (#8267)
* [MID] Implemented Teferi, Who Slows the Sunset

* [MID] Refactored Teferi, Who Slows the Sunset:
- Add Targets during activation
? Don't know where / how to properly implement the Emblem effect yet

* [MID] Refactored Teferi, Who Slows the Sunset:
- Add Targets during activation
? Don't know where / how to properly implement the Emblem effect yet
2021-09-22 08:54:13 -04:00
Evan Kranzler
863d8166f1 [MID] fixed Foul Play only targeting creatures with power 1 or less (fixes #8308) 2021-09-22 07:52:32 -04:00
Oleg Agafonov
d35e1fbfb1 * Play card without mana - fixed that some cards did not allow to choose a casting spell from split/mdfc cards (#7410); 2021-09-21 15:30:40 +04:00
Oleg Agafonov
6bc5a00e8a * Alternative costs - fixed that it can be activated on free cast (example: cascade with overload, #6925, #7410, #7741, #6342); 2021-09-21 14:22:46 +04:00
Evan Kranzler
658ae06e6f removed ObjectPlayer and ObjectPlayerPredicate 2021-09-20 23:38:31 -04:00
Evan Kranzler
c6feab68da refactored all instances of BeginningOfUpkeepAttachedTriggeredAbility 2021-09-20 21:22:17 -04:00
Evan Kranzler
bd22c4a3ae [MIC] Implemented Curse of Obsession 2021-09-20 21:06:41 -04:00
Evan Kranzler
541511692e [MIC] Implemented Curse of Unbinding 2021-09-20 20:57:37 -04:00
Evan Kranzler
b43bb44b27 [MIC] Implemented Curse of Clinging Webs 2021-09-20 19:53:02 -04:00
Jeff Wadsworth
77845bd1df Fixed #8286. 2021-09-20 15:54:52 -05:00
Evan Kranzler
a88427a6d9 [MIC] Implemented Visions of Dominance 2021-09-20 08:48:28 -04:00
Oleg Agafonov
46081d9185 GUI related improves:
* GUI: fixed that choose triggers/piles dialog doesn't close correctly before cast mode choose (#8225);
* GUI: fixed that some choose dialogs doesn't update battlefield state (example: choose amount, choose mana);
* Game: fixed duplicated json logs at the game's end;
2021-09-20 02:17:22 +04:00
Oleg Agafonov
a3ca9fc03a Dauthi Voidwalker - correct code for #8141 and same cards (see comments in fd719ad287); 2021-09-19 04:01:01 +04:00
Evan Kranzler
affd33c23b [MIC] Implemented Cleaver Skaab 2021-09-18 16:58:59 -04:00
Evan Kranzler
3d0571d5e9 [MIC] Implemented Tomb Tyrant 2021-09-18 16:41:48 -04:00
Oleg Agafonov
2cf005f971 Tests: improved performance in game tests; 2021-09-18 22:10:55 +04:00
Evan Kranzler
2fa76fc7be reworked Clockwork creature implementations (fixes #8292) 2021-09-18 11:08:17 -04:00
Oleg Agafonov
f107c1e4db Tests: improved performance in game tests; 2021-09-18 00:24:10 +04:00
Oleg Agafonov
021a2d251c Improves in some effects:
* ConditionalAsThoughEffect - improved support with target effects (see comments from e6e802033b);
* TargetCardInLibrary - added additional checks on wrong usage (must be used inside effects only, not as ability's target);
* PlayFromNotOwnHandZone - fixed wrong playable mark on battlefield's permanents (AI related too);
2021-09-17 21:21:37 +04:00
Evan Kranzler
7c2db3c5fc [MID] Implemented Sungold Sentinel 2021-09-17 08:43:49 -04:00
jeffwadsworth
025395788c - Fixed #8165. There are other cards that handle exiling sequentially, but this is a refactoring starting point. 2021-09-16 11:05:32 -05:00
Evan Kranzler
645779376f [MIC] Implemented Visions of Glory 2021-09-16 09:34:22 -04:00
Evan Kranzler
244cacfe3b [MIC] Implemented Sigardian Zealot 2021-09-16 09:09:41 -04:00
ciaccona007
08e8a34e8b [MID] Implement Ominous Roost 2021-09-15 12:51:08 -04:00
Evan Kranzler
698079f480 [MIC] Implemented Eloise, Nephalia Sleuth 2021-09-15 08:32:11 -04:00
Daniel Bomar
1b5ad66ae5
[MID] Implemented Light Up the Night 2021-09-14 18:17:22 -05:00
Evan Kranzler
5f32fe5308 [MID] changed daybound/nightbound from being singleton 2021-09-12 18:06:46 -04:00
Evan Kranzler
165a347092 [MID] Implemented Moonrager's Slash 2021-09-12 17:46:43 -04:00
Evan Kranzler
520528293a [MID] Implemented Seize the Storm 2021-09-12 13:51:47 -04:00
ciaccona007
eb065bc0e7 [MID] Implement Consuming Blob 2021-09-12 12:04:06 -04:00
Evan Kranzler
7e89d620b8 [MID] Implemented Shipwreck Sifters 2021-09-12 11:18:10 -04:00
Evan Kranzler
07e0a4ef54 [MID] Implemented Smoldering Egg / Ashmouth Dragon 2021-09-12 10:59:25 -04:00
Evan Kranzler
72cb83e615 [MID] Implemented Rise of the Ants 2021-09-12 10:00:35 -04:00
Evan Kranzler
e9d78fc5ac [MID] Implemented Silver Bolt 2021-09-12 08:58:52 -04:00
Evan Kranzler
4c69286c14 [MID] Implemented Bereaved Survivor / Dauntless Avenger 2021-09-12 07:42:55 -04:00
spjspj
3463b720ce
No final blank line in jumpstart
Worked out it can't have the final blank line or you can get blank packs being presented (so you will get a pack of 20 cards and a pack of 0 cards).
2021-09-12 15:21:03 +10:00
Evan Kranzler
d93475a5bb refactored flashback to remove unnecessary timing rule argument 2021-09-11 18:08:35 -04:00
Evan Kranzler
9e68649c32 [MID] Implemented Siege Zombie 2021-09-11 13:53:25 -04:00
Oleg Agafonov
b6f9d57216
Merge pull request #8251 from fearphage/preferred-has-3-rs
corrected typo: prefered -> preferred
2021-09-11 19:24:38 +04:00
Phred
2b2f30a88a
corrected typo: prefered -> preferred
ag -l prefered | xargs sed -i 's/refered/referred/g'
2021-09-11 10:03:10 -05:00
Evan Kranzler
835ee5514c [MID] Implemented Malevolent Hermit / Benevolent Geist 2021-09-11 09:27:50 -04:00
Daniel Bomar
a001b91ea6
[MID] Implemented Intrepid Adversary 2021-09-10 18:10:44 -05:00
Evan Kranzler
4ee219e787 [MID] Implemented Baithook Angler / Hook-Haunt Drifter 2021-09-10 09:40:50 -04:00
Evan Kranzler
a6dad60d48 [MID] added placeholder disturb mechanic 2021-09-10 09:37:30 -04:00
Evan Kranzler
7721aec9cc [MID] Implemented Grizzly Ghoul 2021-09-10 09:20:23 -04:00
Evan Kranzler
f38b0b3e3a [MID] Implemented Sunstreak Phoenix 2021-09-10 08:53:52 -04:00
Evan Kranzler
11238333b5 [MID] Implemented Burn Down the House 2021-09-10 08:42:44 -04:00
Evan Kranzler
a305511b13 [MID] Implemented Heirloom Mirror / Inherited Fiend 2021-09-09 21:00:14 -04:00
Evan Kranzler
03dfa50f23 [MID] Implemented Geistflame Reservoir 2021-09-09 20:37:01 -04:00
Daniel Bomar
bd67b7af22
[MID] Implemented Corpse Cobble 2021-09-09 15:37:01 -05:00
jeffwadsworth
2df79a95dd - Fixed #8213 2021-09-09 12:00:59 -05:00
jeffwadsworth
ae35c1b228 - small fix to the last commit. 2021-09-09 09:56:08 -05:00
jeffwadsworth
a04035036e - Fixed #8230 2021-09-09 09:39:33 -05:00
Daniel Bomar
0bb41a34fd
Merge pull request #8234 from weirddan455/bloodthirsty-adversary
[MID] Implemented Bloodthirsty Adversary
2021-09-08 23:12:59 -05:00
Evan Kranzler
743db172cd [MID] Implemented Hungry for More 2021-09-08 20:33:05 -04:00
Evan Kranzler
937271f066 [MID] Implemented Falkenrath Perforator 2021-09-08 20:33:04 -04:00
Daniel Bomar
8b9c77e129
[MID] Implemented Curse of Surveillance 2021-09-08 19:10:21 -05:00
Daniel Bomar
d829094f90
[MID] Implemented Bloodthirsty Adversary 2021-09-08 13:02:04 -05:00
Daniel Bomar
e6e802033b
[MID] Implemented Augur of Autumn 2021-09-07 15:43:22 -05:00
Evan Kranzler
3e679afcfa [MID] Implemented Flame Channeler / Embodiment of Flame 2021-09-07 08:17:22 -04:00
Evan Kranzler
586fd51179 [MID] Implemented Brimstone Vandal 2021-09-06 19:25:45 -04:00
Evan Kranzler
a38a09fcde [MID] Implemented Ritual Guardian 2021-09-06 18:55:05 -04:00
Daniel Bomar
187e0736a0
AttacksWithCreaturesTriggeredAbility - Fixed incorrect comparison to minAttackers (fixes #8228) 2021-09-06 11:06:48 -05:00
Oleg Agafonov
c9eacfda26 Prepare new release 2021-09-05 22:49:33 +04:00
Oleg Agafonov
b739694c93 Server: added stack info to logs for rollback error; 2021-09-05 22:25:42 +04:00
Oleg Agafonov
58566d2a7c * Game: fixed rollback and game freeze on select attackers step with disconnected people; 2021-09-05 20:03:36 +04:00
Oleg Agafonov
4f5e43b630 Fixed NPE 2021-09-05 19:53:51 +04:00
Oleg Agafonov
83017e3c51 Devs: added docs and todo about short living LKI, LKI and current problems; 2021-09-05 18:49:44 +04:00
Oleg Agafonov
a129aaf4ee Dungeons: fixed rollback error on disconnects while choosing dungeon; 2021-09-05 14:43:21 +04:00
Oleg Agafonov
e209822190 * Hurl Through Hell - fixed that it doesn't exile a creature (#8211); 2021-09-05 13:29:52 +04:00
Oleg Agafonov
dc0427acd1 Mana spent to cast - fixed commanders support; 2021-09-05 11:13:08 +04:00
Oleg Agafonov
cdf6fbb5d8 * GUI: fixed that announced X card icon info shows X=0 on next turns (example: Engineered Explosives, #8046); 2021-09-05 01:20:46 +04:00
Oleg Agafonov
5d003dad88 Merge fix 2021-09-04 20:42:24 +04:00
Oleg Agafonov
473a81e13c * Mana pay to cast - fixed random values in games with AI (example: Marath, Will of the Wild, see #8204); 2021-09-04 20:34:32 +04:00
Oleg Agafonov
3a8e04f2bc * Mana pay to cast - fixed wrong mana calc for commanders (example: Marath, Will of the Wild, see #8204); 2021-09-04 19:24:35 +04:00
Oleg Agafonov
21a9735aaf Painters Servant - removed duplicated code; 2021-09-04 18:01:20 +04:00
Oleg Agafonov
84ea133ec5 * Commander storm abilities - fixed rollback error on card usage in non commander games; 2021-09-04 17:15:51 +04:00
Oleg Agafonov
261f32d9b9 Fixed wrong targetId in CAST_SPELL, fixed miss code from 7b7bbcadd69dd717d980e1981031cb29d7c7b891; 2021-09-04 03:01:20 +04:00
Jeff
ea58f2d65f Merge branch 'master' of https://github.com/magefree/mage 2021-09-03 16:34:40 -05:00
jeff@delmarus.com
7b7bbcadd6 - Fixed #8193 2021-09-03 16:34:21 -05:00
Evan Kranzler
be4715918c [MID] Implemented Secrets of the Key 2021-09-03 11:13:15 -04:00
Evan Kranzler
dd45977a9b [MID] Implemented Tavern Ruffian // Tavern Smasher 2021-09-02 21:22:54 -04:00
Evan Kranzler
250f425909 [MID] Implemented Jadar, Ghoulcaller of Nephalia 2021-09-02 20:39:10 -04:00
Evan Kranzler
b11c8b5c70 [MID] Implemented Arrogant Outlaw 2021-09-02 19:53:29 -04:00
Evan Kranzler
c3531dbb2c [MID] Implemented Candlelit Cavalry 2021-09-02 19:27:37 -04:00
Oleg Agafonov
421cac0ce3 * AI: fixed that computer can broke some non mana pays (Echo, Escalate, Recover, Tap source unless pay, Slow Motion, #8182); 2021-09-03 02:11:21 +04:00
Evan Kranzler
ef6069c3e6 improved die roll messages to communicate ignored rolls 2021-09-01 09:28:04 -04:00
Evan Kranzler
600b4fe110 reworked AttacksWithCreaturesTriggeredAbility implementation and text generation, fixed issues where it could trigger when nothing attacked 2021-08-30 19:51:46 -04:00
Oleg Agafonov
2158d682cc Prepare new release 2021-08-30 14:44:03 +04:00
Oleg Agafonov
1809fb516a * GUI: added card hints with current and next rooms in card rules (#8012); 2021-08-29 01:01:01 +04:00
Jeff
f35ca8112c Merge branch 'master' of https://github.com/magefree/mage 2021-08-28 15:41:20 -05:00
jeff@delmarus.com
5a87664a55 - Fixed #8166 2021-08-28 15:40:46 -05:00
Raphael-Schulz
f03a410b9e
[AFR] Implemented Xanathar, Guild Kingpin (#8045)
* [AFR] Implemented Xanathar, Guild Kingpin

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-28 23:55:41 +04:00
Oleg Agafonov
65761b085f * Game: fixed wrong booster pass order in drafts (#8075); 2021-08-28 13:17:57 +04:00
Oleg Agafonov
2efdb464fc Little refactor, additional logs for CheckPlayableState error; 2021-08-28 12:09:22 +04:00
Evan Kranzler
bbcccf4b58 [AFC] Implemented Galea, Kindler of Hope 2021-08-27 09:08:20 -04:00
Evan Kranzler
f8d030bef4
Adding dice rolling trigger/replacement (ready for review) (#7989)
* [AFR] Implemented DiceRolledTriggeredAbility
* [AFR] Implemented Brazen Dwarf
* [AFR] Implemented Feywild Trickster
* [AFC] Implemented Reckless Endeavor
* [AFR] Implemented Pixie Guide
* [AFR] Implemented Critical Hit
* [AFR] Implemented Netherese Puzzle Ward
* [AFC] Implemented Neverwinter Hydra
* [AFR] Implemented Farideh, Devil's Chosen
* [AFR] Implemented Barbarian Class
* [AFC] Implemented Vrondiss, Rage of Ancients
* [AFC] Implemented Arcane Endeavor
* Test framework: added planar die rolls support
* Test framework: added random results set up support in AI simulated games;
* AI: improved roll die results chooses in computer games;
* Roll die: improved combo support for planar die and roll die effects;

Co-authored-by: Daniel Bomar <dbdaniel42@gmail.com>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-08-26 14:06:10 +04:00
Evan Kranzler
12219cff01 [AFC] Implemented Mantle of the Ancients 2021-08-25 08:11:54 -04:00
Evan Kranzler
002a7af6d0 fixed a test failure 2021-08-23 19:27:27 -04:00
Evan Kranzler
85dfa58e5d [AFR] more text fixes 2021-08-23 19:14:50 -04:00
Evan Kranzler
31a559be23 [AFC] more text fixes 2021-08-23 18:53:35 -04:00
Evan Kranzler
8fe0467893 reworked mana text generation to fit canonical symbol order 2021-08-23 18:32:21 -04:00
Evan Kranzler
2db0da8429 updated AttacksOrBlocksAttachedTriggeredAbility 2021-08-22 18:08:40 -04:00
Evan Kranzler
13949d8e3e [AFC] various text fixes 2021-08-22 17:56:22 -04:00
Ingmar Goudt
fed7c2b288 small Sonar fixes 2021-08-22 12:20:28 +02:00
Ingmar Goudt
271f7b812f fix #8097,
the sacrifice target cost was optional, but SacrificeCost.canPay first checks if there are valid targets. In this scenario there were none, but the spell should still be playable
2021-08-22 12:01:10 +02:00
Evan Kranzler
b1bbe96536 fixed an error 2021-08-21 17:13:03 -04:00
Evan Kranzler
0bd402876d [AFC] Implemented Nihiloor 2021-08-21 16:35:09 -04:00
Oleg Agafonov
2b2a2d085a [AFR] added dungeon support in image/card view, images download, Card Viewer, verify tests; 2021-08-21 20:29:47 +04:00
Oleg Agafonov
654ee7791c [AFR] added tokens and images download support; 2021-08-21 20:29:47 +04:00
Evan Kranzler
d20b15c7b6 [AFC] Implemented Hellish Rebuke 2021-08-21 11:20:31 -04:00
Evan Kranzler
b9550a7387 made a util function more generic because why not 2021-08-21 11:20:30 -04:00
Oleg Agafonov
e9c68d2a5c Test framework improves (related to #7896):
* added real time command to check card's counters (example: suspended cards with Time counters, see checkCardCounters);
* added target type support: TargetPermanentOrSuspendedCard;
* improves error logs for miss modes and unsupported target types;
2021-08-21 15:02:42 +04:00
Oleg Agafonov
33380f09c2 Improved canActivate support:
* added support of non controller activates in ActivatedManaAbility (mayActivate);
* removed custom code from ActivatedManaAbility;
* removed custom code from Mana Cache;
* added additional comments;
2021-08-21 10:52:00 +04:00
Evan Kranzler
bdeb0dde66 refactored TokenPredicate to contain its own inverse 2021-08-20 09:33:38 -04:00
Evan Kranzler
cb5d873fea [AFC] Implemented Bag of Devouring 2021-08-20 09:27:30 -04:00
Evan Kranzler
f740cf0d12 [AFC] Implemented Lorcan, Warlock Collector 2021-08-20 09:11:18 -04:00
Evan Kranzler
e4f0a485a6 [C21] fixed Rousing Refrain mana not staying until end of turn 2021-08-20 08:52:20 -04:00
Oleg Agafonov
ebe02c310a Merge fix 2021-08-20 15:52:16 +04:00
Oleg Agafonov
9fa487e60a * Suspend ability - fixed that suspend can be activated from opponent's hand; 2021-08-20 15:40:42 +04:00
Oleg Agafonov
fb4065ba66 Little fixes 2021-08-20 09:38:16 +04:00
Oleg Agafonov
3da525520c * Author of Shadows - added window with exiled and castable cards; 2021-08-18 11:02:30 +04:00
Oleg Agafonov
1d60c2039b * Game: fixed priority lost on rollback (example: game skips to next step instead current step after a rollback error);
* Game: added game logs on rollback error;
2021-08-18 10:58:43 +04:00
Evan Kranzler
4c4168ac1f [AFC] Implemented Hurl Through Hell 2021-08-16 09:26:25 -04:00
Oleg Agafonov
f21c492ce2 Refactor: added docs for a copy stack object code (#7662); 2021-08-15 17:12:59 +04:00
Oleg Agafonov
5725e15771 GUI: added card hints in choice dialogs (additional to d587cc9151); 2021-08-14 21:57:32 +04:00
jeff@delmarus.com
ef010bc2f3 Wrenn and Six emblem can now add the retrace ability to their legal sides. But, the issue with casting fused split-cards remains. It should not be allowed from the graveyard zone, only the hand. 2021-08-14 12:15:58 -05:00
Oleg Agafonov
62474c12a4 * GUI: fixed non-closeable choose dialog with empty list on server's error (example: Cabal Therapy, see #8065); 2021-08-14 19:10:23 +04:00
Oleg Agafonov
d587cc9151 * GUI: added card popup info in choose dialog (example: choose dungeon, #8012);
* GUI: added texts popup info in choose dialog (example: choose from any list);
2021-08-14 09:18:50 +04:00
jeffwadsworth
d05104ff61 - Fixed #8124 2021-08-13 11:30:57 -05:00
Oleg Agafonov
76e57d009e Multiple changes:
- game: fixed possible empty pay text in custom costs;
- debug: improved debug info for CardInfo objects;
- db: removed unused split sides from cards database;
- db: fixed constant cards adding on each cards database scan (e.g. on tests start);
2021-08-13 14:54:10 +04:00
spjspj
cd22dfd4cc
Merge pull request #8121 from spjspj/master
Add in decreasing rectangle spiral for paper original dual lands
2021-08-13 18:49:09 +10:00
Oleg Agafonov
b9db36eb22 Tests: improved performance 2021-08-13 09:17:33 +04:00
Oleg Agafonov
49308bcd4f * Performance: optimized cards database to increase tests and boosters generation; 2021-08-12 23:59:08 +04:00
Oleg Agafonov
1664ee01cf Fixed miss copy code in Game object (lki, cards), removed unused code. Possible fixes:
* simulated games was able to change objects from another games (ConcurrentModificationException, related to d202278ccd, details in 3a6cdd2615);
* AI: fixed cards disappear in multiplayer games with computer (details in #6738);
2021-08-12 00:08:08 +04:00
Oleg Agafonov
9f882824a0 * Gain ability effect: fixed rollback error with AI games and too many cards (related to d202278ccd); 2021-08-12 00:08:08 +04:00
Oleg Agafonov
8a69ea97e7 Tests: fixed that some game errors can't be caught by test framework (related to d202278ccd) 2021-08-12 00:08:08 +04:00
spjspj
e29b22df6e Add in decreasing rectangle spiral for paper original dual lands 2021-08-12 00:21:41 +10:00
Oleg Agafonov
9b98565e8a Miss synchronized, can be related to ConcurrentModificationException problem in d202278ccd 2021-08-10 14:31:06 +04:00
Evan Kranzler
fe4edbd664 [AFC] Implemented Sword of Hours 2021-08-09 08:49:31 -04:00
Oleg Agafonov
c9ab896d24 * GUI: added auto-choose for replacement effects (remember answer in dialog + reset answer in popup menu + new option in preferences; #4360, #328, #4219, #6676, #7914); 2021-08-09 11:26:11 +04:00
Evan Kranzler
17100261e2 updated setText method for Cost to return itself 2021-08-06 20:57:34 -04:00
Evan Kranzler
b45514ecfb [J21] Implemented Wingsteed Trainer 2021-08-06 17:35:43 -04:00
Evan Kranzler
51c054b286 remove arena only cards from eternal formats 2021-08-06 17:35:42 -04:00
Oleg Agafonov
3406ef6b4e Added miss code and comments for alternative code (additional to b6a3f7edc1) 2021-08-06 18:56:29 +04:00
Oleg Agafonov
b073ff8617 Pay {0} - fixed that it doesn't work for alternative cost (related to b6a3f7edc1); 2021-08-06 18:17:13 +04:00
Evan Kranzler
f5687acfad [J21] Implemented Faceless Agent 2021-08-06 08:52:31 -04:00
Evan Kranzler
3065679f3d [MID] Implemented Wrenn and Seven 2021-08-05 22:02:36 -04:00
Evan Kranzler
3910dae6e0 [MID] Implemented Triskaidekaphile 2021-08-05 21:47:34 -04:00
Evan Kranzler
5e569b597a made randomutil method generic 2021-08-05 20:35:18 -04:00
jeffwadsworth
98aaa78081 - Fixed #8044 and #7842 2021-08-05 15:38:39 -05:00
Oleg Agafonov
53aababd44 * Additional costs - added support of X costs on free cast (example: Kicker X, see Thieving Skydiver and Etali, Primal Storm combo);
* As an additional cost discard X cards - fixed wrong text (example: Channeled Force, Firestorm);
2021-08-05 16:18:04 +04:00
Oleg Agafonov
615ab2d97e * Target colored cards/creatures - fixed game freeze on cards in deck (example: Angel's Herald and other Herald cards); 2021-08-04 22:40:24 +04:00
LevelX2
b6a3f7edc1 * Fixed a problem that the playable check for some alternate costs (e.g. Devastating Master) was not done with the correct mana cost and wrongly shown as playable without enough avalable mana. 2021-08-03 16:35:47 +02:00
Evan Kranzler
e61f019cd3 [AFC] Implemented Maddening Hex 2021-08-02 20:13:54 -04:00
Oleg Agafonov
a5b41ea920 * Marshland Bloodcaster - fixed game freeze on usage;
* Kentaro, the Smiling Cat - fixed game freeze on usage;
2021-08-02 17:40:35 +04:00
Raphael-Schulz
e1f018d53d Adjust canLookAtNextTopLibraryCard 2021-08-01 17:05:52 +02:00
jeffwadsworth
237e8344b3 - added test for Kardur, Doomscourge and Kithkin Mourncaller. it was quite useful find another issue that was fixed. removed sim() check from Abandoned Sarcophagus. 2021-07-31 21:27:58 -05:00
Oleg Agafonov
790aef9c37 Improved watcher copy support of Cards fields (example: Abandoned Sarcophagus, see 43dbaf405b); 2021-08-01 03:32:16 +04:00
jeffwadsworth
df07ad4418 - added fix by JayDi for gameState().value and Lists. 2021-07-31 18:16:09 -05:00
Oleg Agafonov
73db223ca7 * Server: fixed wrong timeouts in drafts; 2021-08-01 03:06:07 +04:00
jeffwadsworth
43dbaf405b - Fixed #8067. Included weirddan455 fixes to Kardur Doomscourge as well. Added support for "remove from combat" to the 2 cards. Note that attacking creatures put into the graveyard is a special case. Test will follow. 2021-07-31 16:46:11 -05:00
Oleg Agafonov
5e91099f62 Tests: added additional checks on boosters (see #8081); 2021-07-31 19:50:57 +04:00
Oleg Agafonov
530cd627cc * Copy spell - improved support for some cards and abilities (#8074); 2021-07-31 15:48:57 +04:00
Oleg Agafonov
6e0184a38d Real fix for 4125d1eb46, updated outdated comments. 2021-07-31 09:47:29 +04:00
Evan Kranzler
4125d1eb46 fixed tapped for mana events not working for sacrificed tokens 2021-07-30 21:54:00 -04:00
jeffwadsworth
1d443b231c - Fixed #8038 2021-07-28 16:45:32 -05:00
Evan Kranzler
b72febb316 [AFC] Implemented Minn, Wily Illusionist 2021-07-27 21:13:09 -04:00
Evan Kranzler
70b040473b updated ManaSpentToCastCount, added tests 2021-07-27 20:53:43 -04:00
Oleg Agafonov
6acfe2ae5f * Delitium, card types in graveyard - fixed wrong text in card hint (fix #8053); 2021-07-27 05:52:31 +04:00
Ingmar Goudt
01f785f4d0 small AFR rulestext fixes 2021-07-27 00:31:29 +02:00
Oleg Agafonov
f334b81de6 * GUI: fixed that users can select empty timing option in new tourney dialog; 2021-07-26 14:42:42 +04:00
SharkeyMyrl
199f449836
Update TombOfAnnihilation.java
Oubliette leads to Cradle Of The Death God, not Sandfall Cell
2021-07-25 20:10:08 -07:00
jeffwadsworth
f3609416cf - Fixed #8047 2021-07-25 20:05:10 -05:00
Oleg Agafonov
5dcdbcfd4f * GUI: fixed wrong deck validation in Deck Editor for partners and planeswalker's commanders; 2021-07-25 10:31:22 +04:00
jeffwadsworth
4b0381e074 - removed test code 2021-07-24 21:01:31 -05:00
jeffwadsworth
d334504131 - Fixed #8001 2021-07-24 20:58:59 -05:00
Oleg Agafonov
1e4f3524a9 Merge fix 2021-07-25 01:16:12 +04:00
Oleg Agafonov
c6a3d5e588 Prepare new release 2021-07-25 01:15:33 +04:00
Oleg Agafonov
96c84413df Merge fix 2021-07-24 16:23:26 +04:00
Oleg Agafonov
560b56a391 Refactor: moved ManaPaidSourceWatcher to default watchers, added additional checks; 2021-07-24 16:22:18 +04:00
Oleg Agafonov
9698e3488f Merge fix 2021-07-24 15:01:26 +04:00
Oleg Agafonov
ac8d3de474 * Game: tiny leaders game mode improves (fixed AI games errors, fixed commander dupes on game restart with Karn Liberated, #6113); 2021-07-24 14:32:00 +04:00
Oleg Agafonov
d41ccd11bc Game: fixed empty range error on game startup 2021-07-24 05:36:56 +04:00
Oleg Agafonov
4d1985476f * GUI: added card icon for commander on battlefield;
Card icons: added support of custom card icon colors;
2021-07-23 19:51:45 +04:00
Oleg Agafonov
06ae494c5b Drafts: refactor to use same pack/pick number logic (#8039); 2021-07-23 16:18:56 +04:00
Oleg Agafonov
400acae0c1 * Draft improves:
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033);
 * added pick timing info in tables list (info column);
 * fixed that booster draft starts with wrong pick timeout (#8036);
2021-07-22 23:14:08 +04:00
Evan Kranzler
214b688fdb
Update effects and abilities which involve tapping permanents for mana (#7679)
Abilities which use trigger from or replace tapping for mana now save the permanent in case it leaves the battlefield.
fixes #7671, fixes #7770
* Merge fix and additional comments, Winter's Night fixed

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-22 05:09:07 +04:00
Oleg Agafonov
81193148e9
Merge pull request #8013 from weirddan455/wish
[AFR] Implemented Wish
2021-07-21 20:53:41 +04:00
Oleg Agafonov
5985e6cfcc * Choose from outside - added card hints about sideboard stats and howto view a cards list; 2021-07-21 20:40:31 +04:00
Oleg Agafonov
28473c7bd0 * GUI: added popup menu to view player's outside/sideboard at any time (allows to view only own or computer's sideboards); 2021-07-21 13:44:35 +04:00
Oleg Agafonov
eda50cc7b1 Merge remote-tracking branch 'weirddan455/wish' into wish 2021-07-21 03:35:22 +04:00
Oleg Agafonov
f48da4c923 * GUI: fixed that look at and reveals dialogs doesn't show card's playable status; 2021-07-21 03:34:43 +04:00
Evan Kranzler
e2f1743c6b a few more triggered ability text fixes 2021-07-20 19:06:44 -04:00
Daniel Bomar
aac4cd00ce
Fixed more triggered ability text 2021-07-20 13:58:11 -05:00
Daniel Bomar
3414aa9959
[AFR] Wish - Add watcher to limit for single use 2021-07-20 13:30:38 -05:00
Daniel Bomar
27e1f2c457
Fixed madness triggered ability text (fixes #8029) 2021-07-20 12:19:00 -05:00
Oleg Agafonov
96ca260109 Merge branch 'master' into wish 2021-07-20 09:52:18 +04:00
Oleg Agafonov
19693c94f7 * Path of Ancestry - fixed that it doesn't triggers a scry on commander cast (#7917, #7538, #7750); 2021-07-20 01:01:16 +04:00
Evan Kranzler
66cebe64b0 [AFC] Implemented Clay Golem 2021-07-19 16:35:39 -04:00
Evan Kranzler
34a0e9546a [AFC] Implemented Sefris of the Hidden Ways 2021-07-19 12:50:18 -04:00
Oleg Agafonov
76082e1d7a * GUI: added card icon for announced X value (card cast); 2021-07-19 13:40:21 +04:00
Oleg Agafonov
fc0ff6c22d Test framework: added support to test client side data in unit tests (getGameView -> CardView, etc); 2021-07-19 13:07:09 +04:00
Oleg Agafonov
12aa3b82b8 * GUI: added card icon for face down permanents; 2021-07-18 21:13:03 +04:00
Evan Kranzler
9ce81dca3a [AFC] Implemented Prosper, Tome-Bound 2021-07-18 11:02:09 -04:00
Evan Kranzler
d4ef2ec414 [AFC] Implemented Midnight Pathlighter 2021-07-18 10:46:05 -04:00
Oleg Agafonov
f2ba76ca75 Tests: fixed miss commands, fixed debug info for permanents on battlefield; 2021-07-17 19:43:05 +04:00
Oleg Agafonov
daed98fb0b Fixed missing clear code in combat (maybe related to #7997); 2021-07-17 19:41:25 +04:00
Evan Kranzler
f57693392c various ability word text fixes 2021-07-17 11:17:49 -04:00
Joseph Zeffiro
86e5c5cb50
Fixing multiple triggers during combat (#8017)
* Fixing multiple triggers during combat

* Damage to Source Logic

* Removing unused references
2021-07-17 08:33:30 -05:00
Evan Kranzler
4150a5bb12 small change to test failure fix 2021-07-16 18:43:09 -04:00
Evan Kranzler
d3b5c51428 fixed test failures (fixes #8016) 2021-07-16 13:08:24 -04:00
Daniel Bomar
c08c4bbb36
[AFR] Implemented Demilich 2021-07-16 11:00:59 -05:00
Evan Kranzler
a47af7a5a9 [AFR] Implemented Spare Dagger 2021-07-16 08:09:39 -04:00
Evan Kranzler
d42fd2e505 [AFR] Implemented Ochre Jelly 2021-07-15 20:24:46 -04:00
Evan Kranzler
f9bf84e6f6 [AFR] Implemented Zariel, Archduke of Avernus 2021-07-15 19:28:40 -04:00
Evan Kranzler
3299641ad4 [AFR] various text fixes 2021-07-15 18:39:46 -04:00
Oleg Agafonov
ad7eb55460 [AFR] fixed empty class level up logs, added levelled logs (#7808) 2021-07-16 00:13:27 +04:00
Oleg Agafonov
2d8be6663b [AFR] added card icons with class level info (#7808) 2021-07-15 23:46:19 +04:00
Daniel Bomar
1c3b42996d
[AFR] Implemented Wish 2021-07-15 10:36:17 -05:00
Evan Kranzler
3df1373bee [AFR] Implemented Delina, Wild Mage 2021-07-15 09:25:28 -04:00
Evan Kranzler
ca80806400
Reworking triggered ability text generation to allow for ability words and flavor words to be added more easily (#8010)
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method

* updated triggered ability rules generation

* renamed method

* fixed a test failure

* some more refactoring

* simplified some instances of ability word usage
2021-07-15 07:46:38 -04:00
jeffwadsworth
f84805d487 - Removed test log 2021-07-14 17:17:16 -05:00
jeffwadsworth
ffe75f77ed - Fixed #7572 2021-07-14 16:44:28 -05:00
Daniel Bomar
29d3f96340
[MH2] Implemented Carth the Lion (#7848)
* [MH2] Implemented Carth the Lion

* [MH2] Carth the Lion - Fixed loyalty cost modification

* Fix copy constructor and add getters/setters

* Call sourceObject.adjustCosts before checking cost modifications

* Add unit test

* Added additional comments, checks and tests;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-15 00:12:25 +04:00
Evan Kranzler
5b88484cb6
[AFR] Implementing Class enchantments (ready for review) (#7992)
* [AFR] Implemented Druid Class

* [AFR] Implemented Wizard Class

* [AFR] Implemented Cleric Class

* [AFR] Implemented Fighter Class

* reworked class ability implementation

* fixed an error with setting class level

* small reworking of class triggers

* added class level hint

* added tests

* small change

* added common class for reminder text
2021-07-14 09:17:07 -04:00
Evan Kranzler
d7b2d2208d [AFC] Implemented Thorough Investigation 2021-07-14 09:07:05 -04:00
Evan Kranzler
aa06893f4d [AFC] Implemented Diviner's Portent 2021-07-13 08:19:27 -04:00
Evan Kranzler
f991e0e89a [AFC] Implemented Component Pouch 2021-07-13 08:00:45 -04:00
Daniel Bomar
66b224622a
[AFR] Implemented Plate Armor 2021-07-12 08:48:12 -05:00
jeffwadsworth
799980dff5 - added game param back to addSubType() 2021-07-11 11:39:02 -05:00
jeffwadsworth
9300d07160 - addSubType() already checks for duplicates 2021-07-11 10:05:55 -05:00
jeffwadsworth
ca8fdde793 - Fixed #7995 2021-07-10 20:29:51 -05:00
Daniel Bomar
08aead581c
[AFR] Implemented Mordenkainen (#7990)
* [AFR] Implemented Mordenkainen

* [AFR] Mordenkainen - Use putCardsOnTopOfLibrary method
2021-07-10 19:43:31 -04:00
Evan Kranzler
9d9bf3e88c [AFR] Implemented Minimus Containment 2021-07-10 17:14:36 -04:00
Evan Kranzler
b193ffc627 [AFR] fixed game log issue with +2 Mace 2021-07-10 08:44:59 -04:00
Evan Kranzler
22bf922076 [AFR] Implemented The Book of Vile Darkness 2021-07-09 09:24:51 -04:00
Oleg Agafonov
30bb7cd42e Merge fix, additional comments 2021-07-09 07:36:40 +04:00
Evan Kranzler
572104b8fc
Reworking card types in preparation for implementing Grist, the Hunger Tide (#7899)
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-07-09 07:28:43 +04:00
Evan Kranzler
07e1dff10c added an additional subtype verification test 2021-07-08 18:46:42 -04:00
Evan Kranzler
d3640103b2 updated legendary token generators 2021-07-08 07:56:35 -04:00
Evan Kranzler
dff5b201d5 [AFR] Implemented The Book of Exalted Deeds 2021-07-07 19:39:00 -04:00
Evan Kranzler
1f93a6cd6f [AFR] Implemented Power of Persuasion 2021-07-07 19:10:03 -04:00
Evan Kranzler
d846f6113a [AFR] Implemented Keen-Eared Sentry 2021-07-07 18:52:55 -04:00
Evan Kranzler
7bc4c42976 [AFR] Implemented Grand Master of Flowers 2021-07-07 17:49:35 -04:00
Evan Kranzler
ace3a8be86 [AFR] Implemented Minsc, Beloved Ranger 2021-07-07 17:26:29 -04:00
Daniel Bomar
7f68cef222
[AFR] Implemented Leather Armor 2021-07-07 13:53:44 -05:00
Daniel Bomar
3bf876b520
[AFR] Implemented Instrument of the Bards 2021-07-07 11:09:10 -05:00
Evan Kranzler
b0e075b738 [AFR] Implemented Hand of Vecna 2021-07-07 09:45:17 -04:00
Oleg Agafonov
07ddad6e48 Game: fixed rare bugs in some cards after rollback or cancel actions:
* Cumulative upkeep cost - fixed that it can lost payed state (cards: Aboroth, Karplusan Minotaur, Psychic Vortex, Sheltering Ancient);
 * Effects - fixed that it can lost selected targets or other settings (cards: Citadel of Pain, Crimson Honor Guard, Curfew, Leveler, Mana Cache, Monsoon, Paradigm Shift, Saprazzan Bailiff);
 * Exile all cards from graveyard ability - fixed that it can lost targets (example: Agent of Erebos);
 * Melee ability - fixed that it can lost targets (example: Adriana, Captain of the Guard).
2021-07-07 16:51:53 +04:00
Evan Kranzler
b4355b8f6e
Added treasure mana check (#7979)
* add treasure mana support to mana code

* [AFR] Implemented Hired Hexblade

* [AFR] Implemented Jaded Sell-Sword

* [AFR] Implemented Forsword Paladin

* added test

* fixed test failure

* another test fix

* completely reworked tracking mana sources
2021-07-06 19:43:32 -04:00
Oleg Agafonov
bb4f36fddf Game: fixed mulligan's copy code (can potentially fix empty hands or loses on game start in rare use cases, e.g. with AI); 2021-07-06 13:58:04 +04:00
Oleg Agafonov
fa8c0259d0 * Chroma ability - added card hints about color amount in permanents cost (example: Outrage Shaman); 2021-07-06 11:39:07 +04:00
Evan Kranzler
5b93f25206 fixed text generation for TapTargetEffect to fit with other effects 2021-07-05 22:09:16 -04:00
Evan Kranzler
cff3c54979 [AFR] Implemented Spike Pit Trap 2021-07-05 17:52:34 -04:00
Evan Kranzler
5b1a38b426 [AFR] Implemented Death-Priest of Myrkul 2021-07-05 16:36:36 -04:00
Evan Kranzler
9fef2a1692 [AFR] Implemented Sylvan Shepherd 2021-07-05 16:19:34 -04:00
Oleg Agafonov
6e26a8d7a6 [MH2] added tokens and images download; 2021-07-05 22:21:03 +04:00
Oleg Agafonov
9624b27b3a * Images: fixed that amass ability uses single Zombie Army token instead different; 2021-07-05 22:21:03 +04:00
Daniel Bomar
364b456ef6
[AFR] Implemented Yuan-Ti Malison 2021-07-05 12:33:09 -05:00
Oleg Agafonov
18db51eb4c Fixed NPE error in Escape ability (#7969); 2021-07-04 22:57:51 +04:00
Evan Kranzler
f8e9be311f [AFR] Implemented Herald of Hadar 2021-07-04 10:24:32 -04:00
Daniel Bomar
fc5e096ebf
[AFR] Fixed Pack Tactics not triggering correctly (#7954) 2021-07-04 10:07:38 -04:00
Oleg Agafonov
27a55529a9 [STX] added tokens and images download; 2021-07-03 23:28:34 +04:00
Oleg Agafonov
6a3f2ff420 * Images: added Commander 2021 tokens; 2021-07-03 22:49:15 +04:00
Evan Kranzler
ec6cb4919f [AFR] Implemented Eccentric Apprentice 2021-07-02 09:09:30 -04:00
Evan Kranzler
4b8a419d28 [AFR] Implemented Treasure Chest 2021-07-02 08:58:48 -04:00
Evan Kranzler
e79e9f1194 [AFR] Implemented The Deck of Many Things 2021-07-02 07:38:09 -04:00
Oleg Agafonov
b929b28e43 * AI: fixed game freezes with Karn Liberated in the game (#7922); 2021-07-02 15:03:06 +04:00
Oleg Agafonov
d9e414db34 Fixed miss counter's copy in some effects; 2021-07-02 14:55:49 +04:00
Evan Kranzler
41cbb7580a [AFR] Implemented Djinni Windseeker 2021-07-01 21:16:03 -04:00
Daniel Bomar
d93bcc12cd
[AFR] Implemented Feign Death 2021-07-01 10:26:50 -05:00
Oleg Agafonov
62d6675be6 AI: fixed that computer can't play commanders (#7955); 2021-07-01 18:21:15 +04:00
Evan Kranzler
d8fdfead8e [AFR] Implemented Gnoll Hunter 2021-07-01 08:49:17 -04:00
Evan Kranzler
2e254d524d [AFR] Implemented Icingdeath, Frost Tyrant 2021-06-30 22:46:58 -04:00
Oleg Agafonov
bbd3f266f0 [AFR] improved flavor words, added support in ETB abilities (#7952, #7808); 2021-06-30 17:47:27 +04:00
Evan Kranzler
74bb1f895c [AFR] Implemented Purple Worm 2021-06-30 09:10:49 -04:00
Evan Kranzler
4f38338fa6 [AFR] Implemented You Come to a River 2021-06-30 09:10:48 -04:00
Oleg Agafonov
a1de8cc85a Refactor: fixed flavor word for ability (related to comments from 6dafb3ad81); 2021-06-30 16:30:39 +04:00
Oleg Agafonov
6dafb3ad81 Refactor: moved flavor word from effects list to ability/mode; 2021-06-30 08:57:06 +04:00
Evan Kranzler
b0214e939a [AFR] Implemented Inspiring Bard 2021-06-29 21:46:36 -04:00
Evan Kranzler
b5ee72b658 fixed an error 2021-06-29 20:38:44 -04:00
Evan Kranzler
48c2633eda [AFR] Implemented Guild Thief 2021-06-29 20:28:34 -04:00
Evan Kranzler
01a30ca8b5 [AFR] Implemented Minion of the Mighty 2021-06-29 20:16:50 -04:00
Evan Kranzler
f60d76569a [AFR] Implemented Dawnbringer Cleric 2021-06-29 19:45:20 -04:00
Oleg Agafonov
62dad3730f * Cards: updated Arena New Player Experience sets by new cards and structure; 2021-06-30 03:02:19 +04:00
Evan Kranzler
24cfed8a0a [AFR] Implemented Trelassara Moon Dancer 2021-06-29 08:53:01 -04:00
Evan Kranzler
ea84d1f5fe [AFR] Implemented Hive of the Eye Tyrant 2021-06-29 08:48:58 -04:00
Evan Kranzler
bb591dd038
[AFR] Implementing dungeon mechanic (ready for review) (#7937)
* added dungeon and dungeon room class

* [AFR] Implemented Tomb of Annihilation

* [AFR] Implemented Shortcut Seeker

* [AFR] Implemented Gloom Stalker

* [AFR] Implemented Nadaar, Selfless Paladin

* added room triggers

* added more venturing code, currently untested

* fixed error

* moved venture into dungeon from player class to game class

* removed unnecessary sourceobject from dungeon

* fixed npe error

* added dungeon completion

* fixed concurrent modification exception

* added logging

* added proper copy methods

* added views

* updated room text generation

* added some missing code

* finished implementing CompletedDungeonCondition

* [AFR] Implemented Ellywick Tumblestrum

* [AFR] Implemented Lost Mine of Phandelver

* added choice dialog for dungeons

* [AFR] Implemented Dungeon of the Mad Mage

* small text fix

* added initial dungeon test

* [AFR] Implemented Cloister Gargoyle

* [AFR] Implemented Dungeon Crawler

* small text change for dungeon rooms

* added more tests

* some simplification to dungeon props

* updated testing helper functions

* added currently failing test for venturing on separate steps and turns

* added tests for dungeon completion

* fixed missing trigger visual and dungeons not persisting through turns

* some text updates

* added rollback test

* added a test for multiple dungeons at once

* added one more condition test
2021-06-29 06:57:43 -04:00
dependabot[bot]
711b76ec49
Bump ormlite-jdbc from 5.1 to 5.6
Bumps [ormlite-jdbc](https://github.com/j256/ormlite-jdbc) from 5.1 to 5.6.
- [Release notes](https://github.com/j256/ormlite-jdbc/releases)
- [Commits](https://github.com/j256/ormlite-jdbc/compare/ormlite-jdbc-5.1...ormlite-jdbc-5.6)

---
updated-dependencies:
- dependency-name: com.j256.ormlite:ormlite-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 11:01:05 +00:00
Evan Kranzler
2ab78b9f03 [STX] fixed Shadrix Silverquill not allowing players to choose no modes (fixes #7874) 2021-06-27 11:46:36 -04:00
Oleg Agafonov
9a4489b47f * Cast an instant or sorcery spell this turn - fixed rollback error when you cast graveyard spell as first in turn (#7918); 2021-06-23 05:05:51 +04:00
Evan Kranzler
daf77b2ee8 [MH2] various text fixes 2021-06-22 09:20:05 -04:00
Evan Kranzler
91eb324847 updated ManaSpentToCastWatcher to default watcher list, reworked it to be game scope 2021-06-21 20:26:39 -04:00
Evan Kranzler
943c67fbca moved ManaSpentToCastWatcher to default watcher list 2021-06-21 20:22:57 -04:00
Evan Kranzler
6ebfe78090 updated protection ability rules generation 2021-06-18 20:52:33 -04:00
Evan Kranzler
1701093d45 [MH1] various text fixes 2021-06-18 19:13:46 -04:00
Evan Kranzler
6ca7b06ab9 some reworking of sagas, added tests 2021-06-18 18:27:37 -04:00
Evan Kranzler
546173ee45 [AFR] Implemented Drizzt Do'Urden 2021-06-17 08:17:26 -04:00
Evan Kranzler
c2c3f6497b [AFR] Implemented Lolth, Spider Queen 2021-06-17 07:53:53 -04:00
Evan Kranzler
dfc2624d32 [MH2] fixed Urza's Saga not being sacrificed immediately when Blood Moon is on battlefield (ability still triggers on etb, related to Blood Moon issue) 2021-06-13 21:22:28 -04:00
Evan Kranzler
b75c09688c [MH2] Implemented Chef's Kiss 2021-06-13 14:51:03 -04:00
Evan Kranzler
d202278ccd change to containsKey method to prevent stream exceptions (fixes #7904, fixes #7880, fixes #7844, fixes #7810, fixes #7805, fixes #7675, fixes #7669, fixes #7654, fixes #7651) 2021-06-13 10:13:41 -04:00
Evan Kranzler
9fd29bae06 [MH1] various text fixes 2021-06-12 19:26:02 -04:00
Evan Kranzler
2c7a04b346 [MH2] Implemented Caprichrome 2021-06-11 08:59:48 -04:00
Evan Kranzler
0acc2d4f36 consolidated card type in graveyard count to a single class 2021-06-11 08:35:38 -04:00
Evan Kranzler
5f8d746fc0 updated tokens with phyrexian subtype 2021-06-10 20:29:07 -04:00
Evan Kranzler
7d07c220b0 fixed while on stack effects of copied spells not discarding when copy has left stack 2021-06-10 18:42:47 -04:00
Evan Kranzler
bd92ced539 [MH2] fixed Garth One-Eye permanent spells not becoming tokens 2021-06-10 18:42:02 -04:00
Evan Kranzler
fd495299db added ranger creature type errata 2021-06-09 21:25:50 -04:00
Daniel Bomar
91df970a87
ReturnToHandAttachedEffect - Fixed incorrect zcc check (Fixes #7885 #7890) 2021-06-08 15:49:32 -05:00
Daniel Bomar
df5bf2fa25
[MH2] Implemented Sanctifier en-Vec (#7893)
* [MH2] Implemented Sanctifier en-Vec

* [MH2] Sanctifier en-Vec - Remove unused filter
2021-06-06 18:38:48 -04:00
Evan Kranzler
0bbc904de0 changed subtype assertion implementation (fixes #7892) 2021-06-06 11:18:43 -04:00
Evan Kranzler
ffd681a0ec [MH2] Implemented Dauthi Voidwalker 2021-06-05 11:58:07 -04:00
Evan Kranzler
ac04c27133 [MH2] Implemented Yavimaya, Cradle of Growth 2021-06-05 09:02:04 -04:00
Daniel Bomar
59678389df
[MH2] Implemented Persist (#7889) 2021-06-05 08:03:04 -04:00
Evan Kranzler
f6cdbd6b4d [MH2] Implemented Necrogoyf 2021-06-04 08:22:40 -04:00
Daniel Bomar
90f09dd816
[MH2] Implemented Kaldra Compleat (#7883) 2021-06-03 21:50:34 -04:00
Evan Kranzler
1c6f8ae035 [MH2] Implemented Sojourner's Companion 2021-06-03 20:10:38 -04:00
Evan Kranzler
390075efd4 [MH2] Implemented Dihada's Ploy 2021-06-03 09:05:07 -04:00
Evan Kranzler
798b578125 [MH2] Implemented Vile Entomber 2021-06-03 08:44:01 -04:00
Evan Kranzler
d3be492f8c [MH2] Implemented Gilt-Blade Prowler 2021-06-03 07:53:10 -04:00
Evan Kranzler
acb8070d6b [MH2] Implemented Recalibrate 2021-06-03 07:48:38 -04:00
Daniel Bomar
71ea4a51d6
[MH2] Implemented Academy Manufactor (#7864)
* [MH2] Implemented Academy Manufactor

* [MH2] Implemented Chatterfang, Squirrel General
2021-06-02 21:46:51 -04:00
Evan Kranzler
58a297ec5c fixed a test failure 2021-06-02 09:11:12 -04:00
Evan Kranzler
e7adae42ef [MH2] Implemented Tavern Scoundrel 2021-06-02 08:48:49 -04:00
Daniel Bomar
03db612f83
[MH2] Implemented Geyadrone Dihada (#7873) 2021-06-01 18:04:06 -04:00
Daniel Bomar
a522eca984
[MH2] Implemented Chitterspitter (#7867)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-05-31 18:51:01 -04:00
Daniel Bomar
4972e050dd
[MH2] Implemented General Ferrous Rokiric (#7868)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2021-05-31 18:50:24 -04:00
Evan Kranzler
870d0338f8 [MH2] Implemented Nettlecyst 2021-05-31 09:32:07 -04:00
Daniel Bomar
03f8c34002
[MH2] Implemented Dress Down (#7856) 2021-05-28 21:43:37 -04:00
Evan Kranzler
0350f42b4c [MH2] Implemented Scuttletide 2021-05-28 09:46:39 -04:00
Evan Kranzler
55a3b03c5e [MH2] Implemented Dragon's Rage Channeler 2021-05-27 08:47:40 -04:00
Evan Kranzler
988740ab53 added hint for domain 2021-05-26 18:23:40 -04:00
Evan Kranzler
4127030c9d [MH2] Implemented Lucid Dreams 2021-05-24 20:28:40 -04:00
Max Behling
d3e57b7fb9
Implemented Thrasta, Tempest's Roar (#7835)
* Implemented ThrastaTempestsRoar
2021-05-24 11:42:11 +04:00
Evan Kranzler
19c5750b01 [MH2] Implemented Dakkon, Shadow Slayer 2021-05-22 08:47:36 -04:00
Evan Kranzler
af3bd24f03 [MH2] Implemented Grief 2021-05-21 07:52:08 -04:00
Evan Kranzler
a60aba3458 some user dialog changes 2021-05-20 20:36:37 -04:00
Evan Kranzler
a85bf3af79 [STX] fixed Journey to the Oracle not returning to hand (fixes #7827) 2021-05-18 18:42:18 -04:00
Ingmar Goudt
895430b554 remove the SimpleTriggeredAbility class and rewrite old cards using it 2021-05-13 21:48:58 +02:00
Evan Kranzler
d1f51cae2f [ZNR] fixed Ashaya, Soul of the Wild and Volrath's Shapeshifter interaction (fixes #7812) 2021-05-12 09:41:06 -04:00
Evan Kranzler
a673ebffc5 refactored TappedPredicate to use single enum for both conditions 2021-05-11 09:33:45 -04:00
Evan Kranzler
35e7f649d4 [AFR] Implemented Prosperous Innkeeper 2021-05-07 08:13:17 -04:00
Evan Kranzler
071f03c491 [AFR] Implemented Vorpal Sword 2021-05-07 08:10:29 -04:00
Evan Kranzler
6bb474a6d0 [LGN] fixed Berserk Murlodont not functioning correctly (fixes #7801) 2021-05-05 09:59:43 -04:00
Evan Kranzler
f33b333e13 [STX] fixed Dragon's Approach (fixes #7796) 2021-05-02 22:49:07 -04:00
Evan Kranzler
ed759d7a63 fixed several cards which use an invalid UUID to find a player 2021-04-30 08:39:54 -04:00
Evan Kranzler
77d792bbaf fixed a test failure 2021-04-30 08:32:26 -04:00
Evan Kranzler
8f9afcb617 text fixes 2021-04-30 07:58:19 -04:00
Evan Kranzler
9604a9c3ea refactored and encapsulated card name choosing effects 2021-04-29 19:43:44 -04:00
Evan Kranzler
0297a00156 all text and no fix makes elk a dull boy 2021-04-29 19:43:44 -04:00
Evan Kranzler
731e948841 [C21] various text fixes 2021-04-28 21:00:36 -04:00
Ingmar Goudt
96d026e4af remove explicit null checks, match(..) checks on null itself by instanceof calls 2021-04-28 20:53:50 +02:00
Ingmar Goudt
b4d806211c use staticfilter for 'a spell' 2021-04-28 20:53:49 +02:00
Evan Kranzler
dfc290a206 fixed a change left out from previous commit failure 2021-04-28 13:26:55 -04:00
Evan Kranzler
bf2e90feae [C21] Implemented Yedora, Grave Gardener 2021-04-28 09:21:39 -04:00
Evan Kranzler
7778e867f8 fixed effects counting opponents no longer in the game 2021-04-28 08:18:07 -04:00
Evan Kranzler
0c3b294527 [C21] Implemented Combat Calligrapher 2021-04-27 20:06:49 -04:00
Evan Kranzler
1fad23b9fb [C21] Implemented Fractal Harness 2021-04-27 20:06:49 -04:00
Evan Kranzler
92007f0132 updated copy implementation to work with stack objects 2021-04-26 18:55:48 -04:00
Ingmar Goudt
30086a5f60 rewrite some dies events cards 2021-04-26 09:39:06 +02:00
Evan Kranzler
d6c3ef33f0 [STX] added booster collation 2021-04-25 22:19:00 -04:00
Evan Kranzler
c3983dac63 [ONS] fixed Thrashing Mudspawn null pointer exception (fixes #7775) 2021-04-25 14:58:58 -04:00
Evan Kranzler
b0fdb4ef5a text fixes 2021-04-25 14:26:22 -04:00
Ingmar Goudt
f74dfcb8b6 rewrite loop to stream 2021-04-25 12:32:44 +02:00
Evan Kranzler
01b797f494 reworked alara heralds 2021-04-23 09:42:06 -04:00
Evan Kranzler
cd4f11e909 more text fixes 2021-04-22 19:31:06 -04:00
Evan Kranzler
a8096fc0a7 text fix for fetch lands 2021-04-22 17:34:22 -04:00
Evan Kranzler
97b8871122 text fix for ReturnFromGraveyardToBattlefieldTargetEffect 2021-04-22 09:50:22 -04:00
Evan Kranzler
f7340a946e text fixes 2021-04-22 08:41:54 -04:00
Evan Kranzler
4e248e75e9 fixed another test failure 2021-04-21 09:47:50 -04:00
Evan Kranzler
28524ce2ed more text fixes 2021-04-21 07:27:26 -04:00
Evan Kranzler
f96f5bf548 small text update 2021-04-20 19:40:52 -04:00
Evan Kranzler
42132bb852 [C21] Implemented Guardian Archon 2021-04-20 19:39:45 -04:00
Evan Kranzler
ad5d1e498f [C21] Implemented Elementalist's Palette 2021-04-20 08:47:41 -04:00
Evan Kranzler
de3388348e [C21] Implemented Battlemage's Braces 2021-04-19 18:07:23 -04:00
Evan Kranzler
ccd1c38004 more text fixes 2021-04-18 22:03:53 -04:00
Evan Kranzler
05a7c83a77 if you're having text problems I feel bad for you son, I've got 99 problems and they're all text-related and I've only dealt with a small amount of them 2021-04-18 18:17:38 -04:00
Evan Kranzler
c2ae2f89f0 many find/replace "shuffle" fixes 2021-04-18 17:29:28 -04:00
Evan Kranzler
5540461397 some more text fixes 2021-04-18 16:03:44 -04:00
Evan Kranzler
cae1b271c2 [STX] some final text fixes 2021-04-18 15:09:18 -04:00
Evan Kranzler
9a40ea0335 [C21] Implemented Geometric Nexus 2021-04-18 14:51:54 -04:00
Evan Kranzler
40a374b407 un-reverted change, fixed test failure 2021-04-18 08:12:32 -04:00
Evan Kranzler
402733d6e7 revert change to fix test, will investigate later 2021-04-17 22:12:14 -04:00
Evan Kranzler
efb2a7f3de [STX] more text fixes 2021-04-17 21:56:26 -04:00
Evan Kranzler
213564f8cd changed ExileSpellEffect from being singleton 2021-04-17 18:47:45 -04:00
Evan Kranzler
b5e3ad2814 fixed Ward ability text (fixes #7715) 2021-04-17 18:36:11 -04:00
Evan Kranzler
326c17fe4d [STX] various text fixes 2021-04-17 18:22:43 -04:00
Evan Kranzler
a61d5543fa replaced all instances of converted mana cost with mana value 2021-04-17 17:02:27 -04:00
Evan Kranzler
cb0df438dd [STA] text fixes 2021-04-17 16:34:21 -04:00
Evan Kranzler
cbc949c08e removed deprecated method for adding delayed triggered abilities 2021-04-17 12:13:37 -04:00
Evan Kranzler
4304ba8cce [STX] Implemented Uvilda, Dean of Perfect / Nassari, Dean of Expression 2021-04-17 09:07:09 -04:00
Daniel Bomar
600cac6fc7
[READY FOR REVIEW] Implement a "multi-amount" dialog (#7528)
* Implemented chooseTargetAmount and new GUI dialog (distribute damage, distribute mana)
* Added tests and AI support;
* Test framework: added aliases support in TargetAmount dialogs;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-17 14:28:01 +04:00
htrajan
042aa61ad4
[STX] Implement Efreet Flamepainter (#7747)
* [STX] Implement Efreet Flamepainter

* Add null check

* Target needs to be chosen before ability resolution
2021-04-16 22:16:02 -04:00
Evan Kranzler
b8b8deaec2 [STX] Implemented Shadrix Silverquill 2021-04-16 20:43:14 -04:00
Evan Kranzler
f9467d5142 [STX] Implemented Strict Proctor 2021-04-16 18:48:40 -04:00
Evan Kranzler
c408776ad7 [STX] Implemented Mavinda, Students' Advocate 2021-04-15 09:21:01 -04:00
Evan Kranzler
802dacea29 [C21] Implemented Scholarship Sponsor 2021-04-14 18:33:28 -04:00
Evan Kranzler
a3bbc0b470 [STX] Implemented Strixhaven Stadium 2021-04-13 09:47:21 -04:00
Evan Kranzler
ae22f99b54 [STX] Implemented Rowan, Scholar of Sparks / Will, Scholar of Frost 2021-04-13 09:12:10 -04:00
Evan Kranzler
dc42107962 [STX] Implemented Mila, Crafty Companion / Lukka, Wayward Bonder 2021-04-12 22:07:19 -04:00
Evan Kranzler
7d3dfe5b15 [C21] Implemented Ruxa, Patient Professor 2021-04-12 17:16:29 -04:00
Evan Kranzler
e51ebbec93 [C21] Implemented Felisa, Fang of Silverquill 2021-04-12 09:47:27 -04:00
Evan Kranzler
c8e21a8c6a [C21] Implemented Triplicate Titan 2021-04-12 09:32:44 -04:00
Evan Kranzler
f4dd6ba1e7 added new EachTargetPointer object 2021-04-12 09:08:50 -04:00
Evan Kranzler
dab3dfdc5a [STX] Implemented Extus, Oriq Overlord / Awaken the Blood Avatar 2021-04-11 10:52:16 -04:00
Evan Kranzler
f97b6bf538 [STX] Implemented Wandering Archaic / Explore the Vastlands 2021-04-11 10:28:39 -04:00
Evan Kranzler
ed7a91cd60 [ODY] fixed Aven Windreader effect #7733 2021-04-11 09:32:01 -04:00
Evan Kranzler
79b7d49e83 [STX] Implemented Show of Confidence 2021-04-10 21:55:32 -04:00
Evan Kranzler
f37628c5cb [STX] Implemented Plumb the Forbidden 2021-04-10 21:30:26 -04:00
htrajan
af0f705b5e
[STX] Implement Conspiracy Theorist (#7728)
* [STX] Implement Conspiracy Theorist
2021-04-11 04:52:18 +04:00
Evan Kranzler
167d2579ac [C21] Implemented Trudge Garden 2021-04-10 10:19:59 -04:00
htrajan
10cd439955
[STX] add more cards (#7720)
* implement AcademicProbation
* implement AugmenterPugilist // EchoingEquation
* Implement BalefulMastery
* implement BasicConjuration
* implement ClosingStatement
* Test framework: added custom effect to return card from any zone to hand;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-04-09 17:56:34 +04:00
Evan Kranzler
c83db2cad3 [STX] Implemented Dragon's Approach 2021-04-09 08:20:59 -04:00
Evan Kranzler
6ff3ca5c1e [STX] Implemented Dramatic Finale 2021-04-08 18:56:18 -04:00
Evan Kranzler
cf3b3cbb76 [C21] Implemented Archaeomancer's Map 2021-04-08 17:21:41 -04:00
Evan Kranzler
689efae076 [C21] Implemented Paradox Zone 2021-04-08 09:03:28 -04:00
Evan Kranzler
77d22b9960 [C21] Implemented Deekah, Fractal Theorist 2021-04-08 08:22:25 -04:00
Evan Kranzler
bea736aa54 [STX] Implemented Retriever Phoenix 2021-04-07 19:24:41 -04:00
Evan Kranzler
8950d35ec7 [STX] Implemented Test of Talents 2021-04-07 09:18:36 -04:00
Evan Kranzler
2f50958e53 [STX] Implemented Reject 2021-04-07 08:53:03 -04:00
Evan Kranzler
37a4ae27f1 [STX] Implemented Explosive Welcome 2021-04-07 08:33:53 -04:00
Evan Kranzler
5ee335f011 [STX] Implemented Willowdusk, Essence Seer 2021-04-06 18:41:01 -04:00
Evan Kranzler
bcb9e410dd [C21] Implemented Adrix and Nev, Twincasters 2021-04-06 18:23:08 -04:00
Evan Kranzler
1d4fc1369a [STX] Implemented Silverquill Silencer 2021-04-06 09:25:48 -04:00
Evan Kranzler
bffe1b2ce6 [STX] Implemented Pillardrop Warden 2021-04-05 20:43:52 -04:00
Evan Kranzler
cf2771e9fa [STX] Implemented Hall of Oracles 2021-04-05 20:37:06 -04:00
Evan Kranzler
3914aa656a [STX] Implemented Brackish Trudge 2021-04-05 19:13:27 -04:00
Evan Kranzler
f2f04be08b [STX] Implemented Spell Satchel 2021-04-05 19:04:52 -04:00
Evan Kranzler
33b7fa3eda [C21] Implemented Excavation Technique 2021-04-05 18:11:24 -04:00
Evan Kranzler
4a184a94b3 [STX] Implemented Tend the Pests 2021-04-04 23:34:21 -04:00
Evan Kranzler
734bd6f118 fixed Blatant Thievery test failure 2021-04-04 13:19:15 -04:00
Evan Kranzler
8699b847d8 [STX] Implemented Promising Duskmage 2021-04-04 12:45:00 -04:00
Evan Kranzler
2184a18c04 [STX] Implemented Flame Spill 2021-04-04 10:40:13 -04:00
Evan Kranzler
1461a875ff [STX] Implemented Leyline Invocation 2021-04-04 10:19:32 -04:00
Evan Kranzler
ceabb02270 [STX] Implemented Divide by Zero 2021-04-03 21:50:06 -04:00
Evan Kranzler
548ac048d7 [STX] Implemented Sedgemoor Witch 2021-04-03 07:32:12 -04:00
htrajan
0a3a4bc189
Stx add cards (#7709)
* WIP

* Implement Confront the Past

* Don't modify test

* Implement Plargg // Augusta

* Implement Shaile // Embrose

* Fix FDoC

* Fix CtP

* fix ordering

* remove extra plains

* FDoC PR fixes

* Augusta PR fixes

* Shaile PR fixes

* don't capitalize "learn"
2021-04-02 18:07:30 -04:00
Oleg Agafonov
05b1366c39 Fixed missing override, restored and additional comments 2021-04-02 11:43:42 +04:00
Oleg Agafonov
fbb08ab1a8 Devs: added todo with mana calculation freezes (Cascading Cataracts) 2021-04-02 11:32:35 +04:00
Evan Kranzler
dbbb696abf added some hints 2021-04-01 20:43:10 -04:00
Evan Kranzler
01bde741d4 [STX] Implemented Inkling Summoning 2021-04-01 09:21:47 -04:00
Evan Kranzler
b6ca0ca222 [STX] Implemented Manifestation Sage 2021-04-01 07:49:10 -04:00
Evan Kranzler
85684c6bf1 [STX] Implemented Kelpie Guide 2021-03-31 09:09:00 -04:00
Evan Kranzler
8e3f4d89c9 revert changes to dynamic value calculations (will investigate more thoroughly later) 2021-03-31 08:55:49 -04:00
Evan Kranzler
3d078dce93 [STX] Implemented Tanazir Quandrix 2021-03-31 08:15:38 -04:00
Evan Kranzler
2567e56db8 [STX] Implemented Thunderous Orator 2021-03-30 20:34:32 -04:00
Evan Kranzler
f831eac6fc [STX] Implemented Magma Opus 2021-03-30 19:34:16 -04:00
Evan Kranzler
63c7c52d92 [STX] Implemented Stonebound Mentor 2021-03-30 08:08:53 -04:00
Evan Kranzler
b8c83b4b51 [STX] Implemented Illustrious Historian 2021-03-30 07:44:14 -04:00
Evan Kranzler
97af948932 simplified and condensed various effects which discard variable amounts of cards 2021-03-29 21:35:27 -04:00
Evan Kranzler
a55ed17beb [STX] Implemented Torrent Sculptor / Flamethrower Sonata 2021-03-27 11:33:08 -04:00
Evan Kranzler
730ac37930 [STX] Implemented Prismari Apprentice 2021-03-27 08:06:26 -04:00
Evan Kranzler
7dc8133eec [STX] Implemented Waterfall Aerialist 2021-03-26 07:01:14 -04:00
Evan Kranzler
aa271876d0 [STX] Implemented Dragonsguard Elite 2021-03-25 20:43:30 -04:00
Evan Kranzler
69e38a84ce [STX] Implemented Pest Summoning 2021-03-25 20:12:43 -04:00
Evan Kranzler
6d99f28bef [STX] Implemented Pop Quiz 2021-03-25 19:55:55 -04:00
Evan Kranzler
73888133eb [STX] implemented Eager First-Year 2021-03-25 19:40:35 -04:00
Evan Kranzler
83993500e0 [EMN] fixed Imprisoned in the Moon not correctly removing subtypes 2021-03-25 08:25:00 -04:00
Evan Kranzler
3feb2017d3 removed unnecessary overrides of adjustTargets and adjustCosts 2021-03-23 20:43:16 -04:00
Evan Kranzler
043aae6dff updated phrasing on player choice messages 2021-03-23 19:46:47 -04:00
Evan Kranzler
d54e1c6eac [DTK] updated implementation of spells which reveal dragon cards as a cost 2021-03-23 19:44:45 -04:00
Evan Kranzler
707de23436 cleaned up some methods for effects and abilities 2021-03-22 21:47:08 -04:00
Evan Kranzler
2a42bec1f2 simplified various cards to use isInstantOrSorcery method 2021-03-22 20:01:20 -04:00
Evan Kranzler
df866f858e [STX] Implemented Professor Onyx 2021-03-22 19:25:55 -04:00
Evan Kranzler
aa527ea8b2 [STX] Implemented Kasmina, Enigma Sage 2021-03-22 19:23:02 -04:00
Evan Kranzler
9f9cb3327f [IKO] fixed Kaheera, the Orphanguard not correctly counting changelings 2021-03-22 08:53:40 -04:00
Evan Kranzler
583475dfd2 [ORI] fixed Chief of the Foundry text (fixes #7681) 2021-03-21 11:34:26 -04:00
Oleg Agafonov
8a06be7e28 Merge fix 2021-03-20 18:40:22 +04:00
Evan Kranzler
1cbbcddcc6
Improving implementation of cards which use voting (WIP) (#7566)
* created interface for handling voting

* created class for two choice votes, refactored a card to use it

* refactored all cards which use two choice votes

* updated VoteHandler to an abstract class to encapsulate more of its functions

* refactored cards which vote for more than two things

* [CNS] Implemented Brago's Representative

* [CN2] Implemented Ballot Broker

* [CN2] Implemented Illusion of Choice

* [CNS] Implemented Grudge Keeper

* added vote outcomes

* updated implementation of Illusion of Choice to work correctly in multiples

* added test for voting

* updated implementation of extra votes

* simplified vote message handling

* Improved names, additional comments

* Votes: fixed not working getMostVoted

* Votes: added final vote results to game logs;

* Votes: added additional info for the vote choices;

* Votes: added vote step info in choose dialogs, added AI support example for Tyrant's Choice;

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-03-20 18:32:54 +04:00
Evan Kranzler
d4792e3665 reworked/simplified/consolidated effects which exchange life totals, added test (fixes #7668) 2021-03-14 15:56:48 -04:00
Evan Kranzler
e0336d4d65 [ROE] fixed Tuktuk, the Explorer token creature type (fixes #7673) 2021-03-13 08:40:30 -05:00
Evan Kranzler
19ec3e399e fixed text on wish effects 2021-03-12 15:05:37 -05:00
Evan Kranzler
9c56a98dc9
Refactor implementation of spell copies for cards like Twinning Staff as well as refactor handling of target changing (WIP) (#7662)
* refactored createCopyOnStack to be void

* added new interface for modifying copied spellsspells

* update implementation of Fork to use new applier

* reworked epic effect

* add applier to spell copy code

* updated implementation of Beamsplitter Mage

* updated cards which copy for each possible target

* added support for additional copies having targets changed

* fixed/ignored failing tests

* updated target changing to prevent unnecessary choosing

* added test for Twinning Staff

* updated implementation of spell copy applier

* added new method for choosing order of copies on stack

* fixed test failures

* [TSR] various text fixes

* fixed a test failure

* [SLD] fixed Rick, Steadfast Leader only counting Human creatures

* updated test framework to handle skips without affecting starting player choice

* fixed another test failure

* updated copy messaging for consistency

* added copy messaging to stack abilities
2021-03-12 12:47:49 -05:00
Evan Kranzler
1dfde6d622 [TSR] various text fixes 2021-03-09 20:01:32 -05:00
Oleg Agafonov
0ab8d0d16f Fixed NPE 2021-03-07 23:45:50 +04:00
Oleg Agafonov
2906f86324 Test framework: simplified AI logic and tests, added usage comments. Devs recommendations:
* in card's code use player.isComputer instead player.isHuman (it help to split Human/AI logic and test both by unit tests);
* usage example: AI hint to skip or auto-calculate choices instead call of real choose dialogs;
* unit tests for Human logic: call normal commands;
* unit tests for AI logic: call aiXXX commands;
2021-03-07 23:38:10 +04:00
Oleg Agafonov
6e661e6d97 * Halvar, God of Battle - fixed rollback error on attached permanent die; 2021-03-07 18:28:19 +04:00
Oleg Agafonov
0e916b6e29 Dev: added additional info to some classes for easy debug; 2021-03-07 17:16:54 +04:00
Oleg Agafonov
ccc85c1acb [TSR] added tokens 2021-03-07 03:08:17 +04:00
Oleg Agafonov
7e72ba95bc Fixed typos 2021-03-07 03:08:17 +04:00
Evan Kranzler
f54145ad42 [LRW] reworked abilities which trigger off of clashing 2021-03-06 14:49:55 -05:00
Evan Kranzler
02f04e541c a few small text fixes 2021-03-06 14:35:01 -05:00
Oleg Agafonov
b36f915d74 * Copy spell - improved support, now all copied spells are independent (bug example: Seasons Past fizzled after copy resolve, see #7634, 10f8022043); 2021-03-06 19:32:17 +04:00
Evan Kranzler
6894ad96bc [TSR] various text fixes 2021-03-05 19:10:29 -05:00
Evan Kranzler
425c1eda26 [TSR] added set 2021-03-05 18:17:01 -05:00
Oleg Agafonov
712cf4576d * Gain abilities - fixed that objects can get only one instance of triggered ability instead multiple (example: 2+ cascades from copies of Imoti, Celebrant of Bounty, f52753ad61); 2021-03-05 16:22:46 +04:00
Oleg Agafonov
4e79c83784 Test framework: fixed missing range info for added cards (some ETB effects were broken on "put to battlefield" command usage); 2021-03-05 15:12:47 +04:00
Oleg Agafonov
654c0be1ac Additional fixes for 4a3679285e (#7645) 2021-03-04 23:49:00 +04:00
Daniel Bomar
4a3679285e
Fixed Crucible of Worlds allowing lands to be played from opponent's graveyard (fixes #7645) 2021-03-04 12:55:49 -06:00
Evan Kranzler
afcdc0f23a simplified and consolidated werewolf triggered abilities 2021-03-03 22:13:16 -05:00
Evan Kranzler
3b5147f6ee updated some methods to support collections of card subclasses 2021-03-02 09:41:39 -05:00
Daniel Bomar
10f8022043
ReturnToLibrarySpellEffect - Do not apply to spell copies (fixes #7634) 2021-03-01 16:40:40 -06:00
Evan Kranzler
f52753ad61 [CMR] fixed multiple copies of Imoti, Celebrant of Bounty only giving cascade once 2021-03-01 08:45:42 -05:00
Evan Kranzler
9567b19b01 refactored card.moveToExile usages E-F 2021-02-28 17:09:37 -05:00
Evan Kranzler
129a477f56 reworked some abilities which use card.moveToExile 2021-02-28 17:06:13 -05:00
Oleg Agafonov
098796f86e * Commander: fixed that non hand abilities are castable from command zone (example: Escape, Jumpstart, see #7632); 2021-03-01 01:14:00 +04:00
Daniel Bomar
f739eedc46
Fixed Escape being castable from command zone (fixes #7632) 2021-02-28 14:20:44 -06:00
Evan Kranzler
6091c7eae3 fixed trample and deathtouch not working when deathtouch is gained by an outside source (fixes #7633) 2021-02-28 09:34:09 -05:00
Evan Kranzler
2daf1945e7 [RTR] reworked Nivmagus Elemental and added test 2021-02-27 15:35:04 -05:00
Oleg Agafonov
c4750ff6c9 prepare new release 2021-02-27 22:27:11 +04:00
Oleg Agafonov
dda69cd009 * AI: improved support of "as though mana" abilities (now computer can choose correct mana ability to pay, example: Draugr Necromancer);
* Dev: added card's LKI support of multi part cards (mdf/split/adventure);
* Dev: improved support of adding/removing counters from mdf cards;
* Draugr Necromancer - fixed support of mdf/split/adventure cards (#7620);
2021-02-27 20:14:12 +04:00
Evan Kranzler
adc945748b a few more card refactors for card.moveToZone 2021-02-27 10:13:24 -05:00
Evan Kranzler
bb04962144 finished the last few refactors for card.moveToZone 2021-02-27 09:57:45 -05:00
Evan Kranzler
ffd5f68220 refactored zone changes, letters M through P
most cards are minor refactors except for Puppet Master which was heavily reworked
2021-02-27 09:24:31 -05:00
Evan Kranzler
1f6332d658 fixed incomplete code 2021-02-25 10:50:29 -05:00
Evan Kranzler
35be23537f simplified and consolidated effects which check cards put into graveyards from the battlefield 2021-02-25 10:45:26 -05:00
Evan Kranzler
5f23ccf24c fixed a test failure 2021-02-24 16:32:30 -05:00
Evan Kranzler
746d5eef3b refactored more zone changes, letters C and D (#7572)
Decaying Soil has been heavily reworked
2021-02-24 14:37:22 -05:00
Evan Kranzler
bac2585d83 [KHM] fixed Draugr Necromancer not allowing snow mana to be used for exiled cards 2021-02-23 13:47:23 -05:00
Evan Kranzler
5736b00f0f combined "enchanted player's upkeep" triggers into one class 2021-02-23 09:44:26 -05:00
Evan Kranzler
2ffa719278 fixed issue with Kruphix, God of Horizons and Horizon Stone causing endless replacement effect loop 2021-02-23 08:41:54 -05:00
Oleg Agafonov
51c9121f5e Fixed test 2021-02-23 03:27:37 +04:00
Evan Kranzler
5390963d38
Fix handling of damage to permanents (WIP) (#7592)
* initial refactor of damage events

* cleaned up some instances of classes that need to be removed

* removed old damage event classes

* removed outdated imports

* temporarily refactor Everlasting Torment (this will need to be changed more)

* updated damage handling to use new changes

* some reworking of lethal/excess damage plus a test

* updated damage marking to handle planeswalkers

* updated implementation of Phyrexian Unlife

* updated implementation of Everlasting Torment

* added some more excess damage tests

* small change to wither check
2021-02-22 17:11:24 -05:00
Oleg Agafonov
39f6b69391
Merge pull request #7584 from weirddan455/cascade
Implemented updated Cascade ruling 702.84a
2021-02-22 23:03:56 +01:00
Oleg Agafonov
91f4d78992 Changes related to Cascade ability (#7583):
* Cascade: added correct spell ability choose for forced cast of mdf and adventure cards (can contains one or both sides);
* Cascade: added tests from latest oracle changes;
* AI: improved spell ability choose for forced cast (example: cast target card without mana cost);
* GUI: improved spell ability choose for forced cast (now you can see only castable spells to choose);
* Other: fixed wrong PlayFromNotOwnHandZone in some cards, fixed NPE;
2021-02-23 02:00:38 +04:00
Evan Kranzler
bd3777997e
updated various cards to improve how they handle exiling with info (#7615) 2021-02-22 15:26:58 -05:00
Daniel Bomar
bb0a995541
Tibalt, Cosmic Impostor - fixed that emblem can't cast not owned cards (#7598)
* Fixed ability.canChooseTarget not using correct playerId

* Fixed Necrotic Plague

* Revert "Fixed Necrotic Plague"

This reverts commit 7659039670293ce1ea428dad042511d9d75f9da6.

* Set target controller on Necrotic Plague and add check in canChooseTarget

* Add test for Tibalt + Ephemerate interaction

* Tests improved

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-02-22 23:06:43 +04:00
Oleg Agafonov
2accab79c5 * Spark Double - fixed duplicated counters on copying of another Spark Double (#7553); 2021-02-22 21:22:31 +04:00
Oleg Agafonov
f6c0f4c712 * Geode Golem - fixed duplicated commander tax on damage trigger (#7593); 2021-02-22 16:11:13 +04:00
Oleg Agafonov
650acf9e1e Test framework: fixed support of chooseAbilityForCast for commanders, added destroy target custom effect (#7593); 2021-02-22 16:05:48 +04:00
Oleg Agafonov
a377999f57 * Desertion - fixed rollback error on fizzled counter spell (#7613); 2021-02-22 08:51:07 +04:00
Oleg Agafonov
eb4f6d99dd Fixed missing watcher error; 2021-02-22 08:08:19 +04:00
Oleg Agafonov
65ad97ced5 * King Narfi's Betrayal - fixed rollback error on no targets for exile; 2021-02-22 07:58:31 +04:00
Oleg Agafonov
b6cb5cef9c Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
Oleg Agafonov
2dfde7f41a Refactor: correct predicate packages 2021-02-21 08:00:21 +04:00
Oleg Agafonov
d343511d73 * Elsha of the Infinite - fixed that it gives flash ability to cards in the hand instead library's top card (closes #7605); 2021-02-21 07:43:29 +04:00
Oleg Agafonov
48e9cc3e07 PlayTheTopCard improves: added correct usage check, fixed outdated rule texts, Bolas's Citadel simplified (related to #7605); 2021-02-21 05:48:09 +04:00
Daniel Bomar
bfe91ad32b
Fixed Foretold cards with cost reduced to 0 being uncastable (fixes #7607) 2021-02-20 11:42:49 -06:00
Daniel Bomar
238ab4fcc8
Fixed clones not triggering death ability of Old-Growth Troll (fixes #7601) 2021-02-19 15:49:25 -06:00
Evan Kranzler
a8bda04daf [GTC] updated implementation of Bane Alley Broker 2021-02-19 14:47:47 -05:00
Evan Kranzler
09d3cee8fc [STX] Implemented Lorehold Command 2021-02-19 09:38:59 -05:00