Commit graph

537 commits

Author SHA1 Message Date
Susucre
461fe71314
Tests: Add deep recursive test of copy method (#10756)
* Add recursive test of copy

* no need to print those unless debugging

* WIP

* comment debug print

* more looping on copyable objects.

* Allow for smarter recursion sub Cards

* check that the special fields were encountered

* better comments for fixing the copy errors
2023-08-15 22:39:40 -04:00
Susucre
23cc483a09
Tests: Add Rarity Verify Test out of mtgjson data. (#10782)
* Tests: Add Rarity Verify Test out of mtgjson data.

* skip some of the Special rarity.

* remove skip (fixed in master)
2023-08-12 16:16:22 -04:00
Artemis Kearney
9ba0da00ff
Basic groundwork for extra decks (contraptions, attractions) (#10378)
* extra deck cards not counted in deck size

* extra deck handling in deckbuilder

* move responsibility for extraDeckCard boolean to CardImpl

* remove redundant field copy
2023-08-06 21:06:32 -04:00
theelk801
3bf2b0aac3 add workaround for verify failure 2023-08-05 16:02:40 -04:00
Susucre
894d557952
Add additional copy test to check copy of effects/abilities (#10754)
* add further copy test

* add more missing copy constructors/methods
2023-08-04 20:10:23 -04:00
Susucre
b04b13d530
Add Verify test to detect that copy of a Card throws an Exception (#10752)
* Add test to detect a copy loop on all the Card in the CardRepository

* reword messages

* move copy test in verify checks

* catch any kind of error
2023-08-04 18:37:45 -04:00
xenohedron
e50f8b05c1
[LTR] [LTC] Text fixes (#10569) 2023-07-06 00:24:12 -04:00
theelk801
1be43ef6ff [UGL] remove "Elves" subtype from Elvish Impersonators 2023-06-19 16:32:21 -04:00
Oleg Agafonov
ef8535314f tests: improved verify checks for emblems and tokens 2023-06-17 09:29:47 +04:00
Oleg Agafonov
f0da749e0a refactor: improved some error messages/tests 2023-06-16 07:32:21 +04:00
Oleg Agafonov
d91147f01a decks: improved deck import to support unicode card names from LTR, UGL and other sets, added verify tests for name converters (closes #10465) 2023-06-14 03:21:16 +04:00
theelk801
27406360e8 remove temporary verify skips 2023-06-11 08:54:22 -04:00
theelk801
164d96352d [LTR] Implement Isildur's Fateful Strike 2023-06-09 18:26:21 -04:00
theelk801
a3099a4b39 fix verify failure 2023-06-09 10:11:23 -04:00
theelk801
b6e87ddcb8 fix verify failure 2023-06-08 21:40:48 -04:00
theelk801
4afccccf11 remove temporary verify skips 2023-06-02 08:28:05 -04:00
xenohedron
36b1c56543 Some improvements to verify test 2023-06-02 11:34:05 +03:00
theelk801
0df610fbe7 fix verify failure 2023-06-01 21:50:37 -04:00
Evan Kranzler
60e488cf05
rename classes (#10383) 2023-05-17 18:49:30 -04:00
Evan Kranzler
024c3081df
[BRC] Implement Rootpath Purifier (ready for review) (#10363)
* refactor check supertype methods

* change supertype to list to match card type

* refactor various subtype methods

* implement mageobjectattribute for supertype

* a few fixes

* [BRC] Implement Rootpath Purifier

* a few extra fixes

* more fixes

* add test for purifier
2023-05-13 10:48:07 -04:00
Oleg Agafonov
997dd91c20 Merge fix 2023-05-11 01:12:42 +04:00
Oleg Agafonov
e8475f2aee tests: improved ability text checks in verify:
- added multiple sets support like "MAT;CMD;XLN" (related to 10343);
 - added all sets support like "*";
 - added check stats and percent (total, good, bad);
2023-05-11 01:04:55 +04:00
Oleg Agafonov
1f4dfd08ce docs: added some comments about tokens, verify, test mode, etc 2023-05-09 12:27:18 +04:00
theelk801
67507fed67 [MAT] various text fixes 2023-05-08 20:13:48 -04:00
Oleg Agafonov
5f55c7c667 Tokens and command objects reworked (part 1 of 2):
- fixed that copy effect doesn't restore original image after effect's end;
 - removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
 - refactor command objects to use CommandObjectImpl;
 - refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
 - refactor another game objects to remove some duplicated fields;
2023-05-08 02:15:07 +04:00
Oleg Agafonov
6ed702a7b3 Tokens improved:
- added auto-generated token names for CreatureToken;
 - added verify tests for token names;
 - removed outdated ElementalCreatureToken;
 - fixed wrong indefinite article in some tokens;
 - fixed miss Token in some token names (related to #10139);
2023-05-04 17:38:54 +04:00
theelk801
8ed8b5c363 [ONC] a few text fixes 2023-04-30 15:46:52 -04:00
theelk801
df322c680c [40K] various text fixes 2023-04-30 15:26:40 -04:00
theelk801
b3a421d094 revert accidentally reverted changes 2023-04-30 11:29:50 -04:00
theelk801
edb5c99df8 [J22] various text fixes 2023-04-30 11:28:06 -04:00
Oleg Agafonov
255a050025 Tests: improved verify tests:
- added checks for duplicated indefinite articles in the rules;
 - improved test_showCardInfo - now it can search cards by simple class name too;
 - fixed some card/token texts;
2023-04-30 18:49:22 +04:00
Oleg Agafonov
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
theelk801
ff115cad48 [ONE] various text fixes 2023-04-24 22:26:34 -04:00
theelk801
d106426b21 fix verify failure 2023-04-22 20:49:17 -04:00
Oleg Agafonov
7d44057f93 Tokens rework:
- now token images chosen by tokens database instead availableImageSetCodes (related to #10139);
 - added additional verify checks for tokens database;
 - fixed some tokens;
2023-04-22 15:50:46 +04:00
Oleg Agafonov
24bd4315c6 Tokens rework:
- added tokens database (now all tokens store in tokens-database.txt, related to #10139);
 - added sets/cards/tokens stats on app's start;
2023-04-22 02:59:15 +04:00
Oleg Agafonov
5f31c061cf Tokens improved:
- removed outdated emblem formats;
 - simplified emblems definition;
 - improved tok-data structure;
 - improved tok-data read;
 - added additional checks for tok-data file;
 - prepare for tokens database (related to #10139);
2023-04-20 22:14:37 +04:00
theelk801
c4ebe4ae8b [MOC] various text fixes 2023-04-18 18:34:57 -04:00
theelk801
7feffa16ff add verify check for mutate cards 2023-04-18 17:47:29 -04:00
theelk801
1578ffb3bc add verify tests for loyalty and defense 2023-04-16 20:58:22 -04:00
theelk801
56d37b3496 [MOM] various text fixes 2023-04-15 21:11:25 -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
5bff03f57a Tests: improved verify tests for tokens data, added how-to fix hints, added new checks (disabled by default) 2023-04-12 09:51:19 +04:00
theelk801
312cff0c0f [MOM] various text fixes 2023-04-11 09:32:31 -04:00
Oleg Agafonov
8f748b0f2c Tests: added verify checks for wrong set's settings like parent set and block name (temporary disabled) 2023-04-07 17:27:46 +04:00
Oleg Agafonov
59d2b59a4f Tests: added verify check for wrong set names (disabled until 40k cards merge) 2023-04-07 17:27:46 +04:00
Oleg Agafonov
4f583a853e Tests: added new verify checks for tokens (outdated set codes in tok-data, miss sets, etc) 2023-04-05 18:43:44 +04:00
theelk801
287bcde15c add verify test for backup ability 2023-04-04 22:19:11 -04:00
Oleg Agafonov
a6337fd28a Cheats: improved cheat and test commands to use same set_code-card_name notation, added additional tests (related to #10139, cheat command example: battlefield:Human:XLN-Island:1) 2023-04-04 22:05:22 +04:00
Oleg Agafonov
d019acbd55 Tests: improved addCard command, now it can add card from specific set (use 40K:Plains as card name param, #10139) 2023-03-23 23:17:34 +04:00