Commit graph

53 commits

Author SHA1 Message Date
Oleg Agafonov
e1cffbde40 download: reworked connection:
- added shareable code with default proxy, headers and other settings for download tasks like images, symbols, mtgjson, etc;
- use XmageURLConnection.downloadText for text resources
- use XmageURLConnection.downloadBinary for any file resources
- added user agent with app version for all requests;
- added http logs and improved error messages;
2024-07-31 21:25:56 +04:00
Oleg Agafonov
0cf0af3cbb tests: improved test_showCardInfo, now it can show mtgjson ref data without set usage (VSC script support) 2024-06-03 10:20:59 +04:00
Oleg Agafonov
bcea598fbd tests: added mtgjson rules output in test_showCardInfo 2023-09-17 15:53:51 +04:00
Oleg Agafonov
ddcc6f2197 tests: added verify checks for a wrong target settings (related to #11100) 2023-09-07 05:36:59 +04:00
arcox
2f0c1d84c5
Lint: fix 'declarations should use interfaces instead of classes' bugs (#11082) 2023-08-31 21:42:45 +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
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
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
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
77209073e9 Tests: improved mtgjson's card search in verify, added debug info to mtgjson's data; 2023-03-21 17:19:57 +04:00
Oleg Agafonov
d757a22acf Tests: fixed miss cards from mtgjson checks in verify 2023-03-20 22:28:04 +04: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
Alex W. Jackson
aac6518c1b Remove unofficial Eighth Edition Box and Ninth Edition Box sets 2021-10-14 04:21:16 -04:00
Evan Kranzler
b0a2abb205 fixed verify test not checking split/aftermath cards correctly 2021-10-12 09:35:53 -04:00
Evan Kranzler
ef8ee52b94 added MTGJSON metadata to verify test 2021-04-17 21:15:42 -04:00
Oleg Agafonov
06174c4da3 Tests: added verify test to check wrong cards in the cubes; 2021-01-23 06:29:02 +04:00
Oleg Agafonov
a73c9bddae [ZNR] Added all modal double faces cards (#7012) 2020-11-01 10:03:09 +01:00
Oleg Agafonov
6fa4c0b8f2 Fixed NPE on playerList.getNext usage 2020-08-25 23:38:51 +04:00
Oleg Agafonov
1b430e5d99 Added verify test to check missing second face cards in sets, fixed missing cards; 2020-08-22 18:48:15 +04:00
Oleg Agafonov
7aac355f4a Tests: added many verify checks for missing cards, names, numbers, download settings:
* check wrong card numbers in sets;
* check missing cards from set;
* check wrong full art settings;
* check missing and unknown sets in scryfall download settings;
* check missing and unknown direct download links in scryfall download settings;
* improved ability text check results;
* removed unused tests for word checks;
2020-08-22 15:16:30 +04:00
Oleg Agafonov
ca254c6562 Tests: migrating to mtgjson v5 (#6808); 2020-08-15 14:21:38 +04:00
Oleg Agafonov
e1806f808c Tests: simplify mtgjson code in verify test; 2020-08-15 14:17:19 +04:00
Oleg Agafonov
8b2bc064cd Fixed test and sample decks 2020-08-10 18:24:21 +04:00
Oleg Agafonov
735588cc0d Sets refactor:
* Duels of the Planeswalkers Promos set split to multiple sets (scryfall style);
* Fixed Masterpiece Series sets name;
2020-08-08 13:17:49 +04:00
Oleg Agafonov
7599acf1c8 Removed duplicated sets that was split into multiple (Champs, Game Day, Launch Party, Media Inserts, Super Series) 2020-08-08 11:00:07 +04:00
Thomas Hess
da98ac82ed
Aligned Guru Set code with Scryfall (GUR → PGRU). 2020-03-24 17:32:06 +01:00
Thomas Hess
529552dd2c
Fixed set codes for the Duel Deck Anthology deck sets.
The decks now use the set codes from Scryfall.
2020-03-24 17:32:06 +01:00
Thomas Hess
71bdc431db
Aligned Grand Prix Promos set code with Scryfall.
(GPX → PGPX)
2020-03-24 17:31:57 +01:00
Thomas Hess
443bc95a63
Split the Magic Player Rewards (MPRP) promotional set into the individual sets.
- Removed Magic Player Rewards (MPRP)
- Added MPR sets 2001 (MPR), 2003-2011 (P03 - P11)
2020-03-24 17:31:54 +01:00
Thomas Hess
d628303f3a
Fix set code clash with the old PrereleaseEvents set and the new Pro Tour Collector set (PTC).
Set the PrereleaseEvents code to PPRE, as listed on Scryfall.
2020-03-19 11:09:48 +01:00
Thomas Hess
aab0b2e2fa
Split the cummulative Arena League set into the individual sets.
- Removed set ARENA
- Added sets PARL, PAL99, PAL00, PAL01, PAL02, PAL03, PAL04, PAL05, PAL06
2020-03-19 11:09:48 +01:00
Thomas Hess
b56882091e
Adjust European Land Program set abbreviation to match Scryfall. 2020-03-19 11:09:47 +01:00
Thomas Hess
4d3e41fa35
Adjust Asia Pacific Land Program set abbreviation to match Scryfall. 2020-03-19 11:09:46 +01:00
Oleg Agafonov
46d5b228cf Tests: migrate to new mtgjson version 2020-01-22 01:32:03 +04:00
Oleg Agafonov
00633ce055 Fixed mtgjson compatibility 2019-04-28 19:08:13 +04:00
Oleg Agafonov
29993ebd21 Fixed mtgjson compatibility 2019-02-01 18:59:01 +04:00
Ingmar Goudt
5b38f4168f apply try-with for MtgJson 2019-01-19 23:18:16 +01:00
Oleg Agafonov
b0e2845b59 Fixed verify tests to ignore mtgjson updates 2019-01-14 06:19:39 +04:00
John Hitchings
3d15325448 buildfix for VerifyCardDataTest. mtgjson file was moved, added a few fields, and requires adding a User-Agent to the request. 2018-12-20 17:02:48 -08:00
Oleg Agafonov
d6569b88a6 Updated MtgJson 2018-12-11 16:55:48 +04:00
Oleg Agafonov
a4d797e473 Fixed mtgjson data; 2018-12-07 07:34:38 +04:00
Oleg Agafonov
41a2573319 Fixed wrong MtgJsonV4 data format (#5415); 2018-12-07 02:55:27 +04:00
LevelX2
09a5ece9f3 Fixed color check and added missing attribute to verify. 2018-11-27 16:09:43 +01:00
Ingmar Goudt
d9b25cbac1 suppert mtgjson v4 2018-11-23 19:22:27 +01:00
Oleg Agafonov
69546c82ce * Added missing images for WPN and Gateway Promos (GRC) set in scryfall source; 2018-10-03 20:32:58 +04:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
Oleg Agafonov
bc3274b144 Test: fixed mage-verify tests 2018-01-15 07:46:31 +04:00
Oleg Agafonov
c4fe9e3121 Tests: added mage-verify warning test for missing sets in xmage (current missing sets: 34 with 1689 cards) 2017-12-29 17:15:00 +04:00
Oleg Agafonov
a24c61079b Added new set Pro Tour Promos 2017-12-20 20:14:04 +04:00
igoudt
11f040b884 use more staticfilters, fix jsoncard class 2017-07-10 12:25:33 +02:00