Commit graph

1840 commits

Author SHA1 Message Date
Paul Davies
70cf2158a9
[MIR] implemented Basalt Golem (#10285)
* added MIR Basalt Golem + Wall Token

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

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

* Add comments

* Get minimum deck size from deck validator
2023-04-28 18:59:24 +04:00
Oleg Agafonov
f86cf176d7 Tokens rework:
- added reminder / helper tokens support (example: Copy, Morph, Day // Night, related to #10139);
 - added verify checks for reminder tokens;
 - added images download for reminder tokens;
2023-04-27 19:05:31 +04:00
Evan Kranzler
726e289646
Implement DFC tokens for Incubate (#10231)
* remove incubate skip

* initial implementation of DFC tokens

* separate incubator back face to separate class

* small refactor to token copy function

* token copies now have back faces as well

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

* add skip for exception

* tokens now enter transformed correctly

* [MOC] remove skip for incubate

* fix verify failure
2023-04-27 19:03:25 +04:00
xenohedron
1780972f71
Refactor to clean up base P/T setting and fix text generation (#10264)
* Adjust constructors to simplify

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

* Fix warnings

* Druid Class not CDA

* Entropic Specter fixup

* Further constructor simplification

* Analogous simplification for setting power only

* Analogous simplification for setting toughness only

* Remove superfluous parameter

* Set fields final
2023-04-24 17:43:18 +04:00
PurpleCrowbar
aae793945d Add ODY token images 2023-04-24 01:20:57 +01:00
Oleg Agafonov
7d44057f93 Tokens rework:
- now token images chosen by tokens database instead availableImageSetCodes (related to #10139);
 - added additional verify checks for tokens database;
 - fixed some tokens;
2023-04-22 15:50:46 +04:00
Oleg Agafonov
1dc7dcc94c Fixed images info copy in morph and other copy abilities 2023-04-21 11:39:03 +04:00
Oleg Agafonov
689b93d005 Refactor: improved choose cards method to use source param (fixed NPE like #10233, #9974 and other bugs with choose cards) 2023-04-21 11:02:57 +04:00
Oleg Agafonov
df96b89610 Token: added check for required token's class, fixed outdated sets 2023-04-20 23:34:22 +04:00
Oleg Agafonov
91542c0c40 [MOM] fixed game error on Urabrask // The Great Work usage (miss watcher), fixed Jaya Ballard Emblem (miss watcher) 2023-04-19 18:51:45 +04:00
Oleg Agafonov
2e8f24edb3 Fixed protector NPE on empty opponents 2023-04-19 18:40:04 +04:00
Oleg Agafonov
c061c7f436 [CLB] Undercity Dungeon - fixed game error (NPE fix) 2023-04-19 18:34:52 +04:00
theelk801
c4ebe4ae8b [MOC] various text fixes 2023-04-18 18:34:57 -04:00
PurpleCrowbar
89201937f7 Add MOC token images 2023-04-18 16:27:48 +01:00
PurpleCrowbar
d3d99d609b Add MOM token images (excluding Incubator tokens) 2023-04-18 15:38:36 +01:00
PurpleCrowbar
85c98bc239 Add 30A token images 2023-04-18 15:02:13 +01:00
theelk801
fbf874fdc5 [MOM] Implement Drana and Linvala 2023-04-17 19:53:32 -04:00
theelk801
8c2ee477fa [MOM] Implement Ghalta and Mavren 2023-04-17 19:23:55 -04:00
theelk801
7160a907c9 [MOM] Implement Invasion of New Phyrexia / Teferi Akosa of Zhalfir 2023-04-17 18:09:27 -04:00
PurpleCrowbar
25636565a9 [MOC] Implement Wildfire Awakener 2023-04-17 19:43:00 +01:00
theelk801
c270d282d0 a few small updates to battle rules 2023-04-16 22:22:51 -04:00
theelk801
9e1aa964ae [MOM] Implement Blightreaper Thallid / Blightsower Thallid 2023-04-16 20:18:24 -04:00
theelk801
89ce5bbc3d [MOC] Implement Gimbal, Gremlin Prodigy 2023-04-16 09:44:08 -04:00
theelk801
1cfe05f38e [MOC] Implement Teferi's Talent 2023-04-16 09:30:44 -04:00
theelk801
453d734e30 [MOM] Implement Invasion of Segovia / Caetus, Sea Tyrant of Segovia 2023-04-15 17:52:42 -04:00
theelk801
e7f6173cc2 [MOM] Implement Invasion of Kylem / Valor's Reach Tag Team 2023-04-15 17:37:14 -04:00
Evan Kranzler
947351932b
Ready for Review: Implementing Battles (#10156)
* add types and subtypes

* add startingDefense attribute

* [MOM] Implement Invasion of Ravnica / Guildpact Paragon

* fix two small errors

* refactor various instances of "any target"

* fully implement defense counters

* battles can now be attacked

* [MOM] Implement Invasion of Dominaria / Serra Faithkeeper

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

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

* [MOM] Implement Invasion of Kamigawa / Rooftop Saboteurs

* [MOM] Implement Invasion of Karsus / Refraction Elemental

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

* simplify battle info ability

* fix verify failure

* some more fixes for attacking battles

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

* [MOM] Implement Invasion of Lorwyn / Winnowing Forces

* [MOM] Implement Invasion of Moag / Bloomwielder Dryads

* [MOM] Implement Invasion of Shandalar / Leyline Surge

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

* [MOM] Implement Invasion of Pyrulea / Gargantuan Slabhorn

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

* [MOM] Implement Marshal of Zhalfir

* [MOM] Implement Sunfall

* implement protectors for sieges

* partially implement siege defeated trigger

* fix verify failure

* some updates to blocking

* [MOM] Implement Invasion of Mercadia / Kyren Flamewright

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

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

* [MOM] Implement Invasion of Xerex / Vertex Paladin

* add initial battle test

* fix verify failure

* [MOM] Implement Invasion of Amonkhet / Lazotep Convert

* [MOM] update spoiler

* update how protectors are chosen

* update text

* battles can't block

* add control change test

* rename battle test for duel

* add multiplayer test

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

* [MOM] Implement Invasion of Eldraine

* [MOM] Implement Invasion of Ergamon / Truga Cliffhanger

* [MOM] Implement Invasion of Ixalan / Belligerent Regisaur

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

* add TODO

* add ignore for randomly failing test

* a few small fixes

* add defense to MtgJsonCard (unused like loyalty)

* implement ProtectorIdPredicate

* small fixes
2023-04-13 20:03:16 -04:00
Oleg Agafonov
01caeed298 Merge fix 2023-04-13 17:06:22 +04:00
Oleg Agafonov
d17df585c5 Tokens reworked:
- removed outdated code;
 - updated logic to choose a set code for a tokens in different use cases (related to #10150);
 - added many tests for client and server token's data (related to #10139);
 - prepare for tokens database (related #6955);
2023-04-13 16:18:53 +04:00
Oleg Agafonov
ff15edbce8 Game: added new set Thirtieth Anniversary Edition (30A) 2023-04-13 14:38:03 +04:00
Oleg Agafonov
47ee0f7f5a Voice Of Resurgence - fixed token 2023-04-12 09:48:28 +04:00
theelk801
f1fdfc2c70 [MOM] Implement Polukranos Reborn / Polukranos, Engine of Ruin 2023-04-10 20:21:57 -04:00
theelk801
c1073ee801 [MOM] Implement Baral and Kari Zev 2023-04-10 09:13:43 -04:00
Oleg Agafonov
914cfc1d3a Refactor: fixed getRules usage, clean SplitCard code 2023-04-08 19:27:47 +04:00
Oleg Agafonov
dddb7363b2 Refactor: fixed miss token constructors 2023-04-05 11:13:55 +04:00
theelk801
c087e77776 [MOM] Implement Xerex Strobe-Knight 2023-04-03 20:11:16 -04:00
theelk801
4b71941d21 [MOM] Implement Joyful Stormsculptor 2023-04-03 19:58:20 -04:00
theelk801
df5f124966 [MOM] Implement Merciless Repurposing 2023-04-02 16:00:58 -04:00
theelk801
4706b695e7 [MOM] Implement Wrenn and Realmbreaker 2023-04-01 19:19:53 -04:00
Oleg Agafonov
407369ea83 Merge fix 2023-04-01 19:07:15 +04:00
Oleg Agafonov
4bf3e43da6 * GUI: face down cards improved:
* now it show face up cards in game logs on game end;
 * now it show face up cards in battlefield on game end (#4635);
 * fixed that real card face was visible in network data;
2023-04-01 18:40:06 +04:00
Oleg Agafonov
d393ac9c60 Fixed NPE in some cards with exile zone (example: Draugr Necromancer) 2023-03-31 23:38:09 +04:00
Oleg Agafonov
a648268c4c * Howlpack Avenger - fixed game error on usage (#9781) 2023-03-26 22:45:23 +04:00
Oleg Agafonov
bfba179bdf * Body Count - fixed game error on usage (miss watcher) 2023-03-25 16:16:11 +04:00
Oleg Agafonov
a15a0daa04 Fixed potential NPE errors in getPhase usage (fixed Berserker's Frenzy, etc) 2023-03-25 16:01:27 +04:00
Oleg Agafonov
cfd7464b49 Refactor: added edit protection for some unmodifiable lists 2023-03-25 15:22:13 +04:00
Oleg Agafonov
fe073bba0b Game: fixed NPE on draft auto-pickup on timeout 2023-03-25 14:00:07 +04:00
Oleg Agafonov
66d0ef4b35 Refactor cards and token images code (#10139):
- removed outdated token store format (example: BIRD.W.BIRD.CREATURE.1.1.full.jpg)
 - removed duplicated cache images code;
 - removed duplicated set code fields;
 - removed outdated auto-generated thumb files (also all *.thumb.zip files will be deleted on startup);
2023-03-24 06:44:11 +04:00