Commit graph

12136 commits

Author SHA1 Message Date
theelk801
1cf91b0b2d [BLC] Implement Pyreswipe Hawk 2024-08-06 12:48:40 -04:00
PurpleCrowbar
23d0420c95 Remove some unused imports 2024-08-05 21:43:52 +01:00
Oleg Agafonov
f105828e1c GUI: reworked battlefield panels to use layouts and dynamic settings (no needs in NetBeans to modify it, no needs in size calculations, improved positions and sizes, deleted outdated code); 2024-08-05 19:00:42 +04:00
Oleg Agafonov
c31763a2d8 db: fixed wrong commands 2024-08-05 00:03:58 +04:00
Oleg Agafonov
0a6f0b7a9d code clean 2024-08-03 21:24:46 +04:00
Oleg Agafonov
0a55e37c8c download: reworked scryfall images support:
- download: fixed unmount zip errors on cancel download in some use cases (closes #12536);
- download: significant download speed improvements (now it depends on user's network speed, not api limitations);
- download: added additional error dialogs on bad use cases;
- scryfall: added cards and bulk data api support;
- scryfall: added bulk data download (updates once per week, contains all scryfall cards and store in images\downloading folder, 2 GB size);
- scryfall: added optimized images download without api usage (use direct images links from bulk data, closes #11576);
- scryfall: improved image source searching for some use cases (miss or wrong images problems, closes #12511);
- scryfall: tokens don't use bulk data;
- scryfall: 75k small images downloads 40 minutes and takes 1 GB and 2100 api calls (most of it from tokens);
- scryfall: how-to disable bulk data, e.g. for api testing: -Dxmage.scryfallEnableBulkData=false
2024-08-03 19:41:14 +04:00
xenohedron
b78956d286
text errata updates: various "enters the battlefield" -> "enters" (#12626)
* enters the battlefield, -> enters,

* {this} enters the battlefield -> {this} enters

* EntersBattlefieldAbility

* , it enters

* enters the battlefield under your control -> you control enters

* rework some trigger phrase logic

* fix tests
2024-08-02 18:43:59 -04:00
ssk97
ab803079b9
Minor fixes (#12632)
* Fix Nefarious Imp, Bewitching Leechcraft

* Include zone of cast in game log
2024-08-02 18:43:49 -04:00
Oleg Agafonov
bfa7c4c9a8 download: improved images download from scryfall source:
- fixed wrong timeouts for api (fixed 429 Too Many Requests);
- added any/10 parallel threads support;
- current api limit is 1 request per 300 ms;
2024-08-01 11:46:37 +04:00
Oleg Agafonov
b5527a28db download: added debug logs/stats for http requests (DebugUtil.NETWORK_PROFILE_REQUESTS) 2024-08-01 11:23:54 +04:00
jimga150
f2d3850250
refactor: simplify DrawCardSourceControllerEffect text generation (#12621) 2024-07-31 22:46:22 -04:00
jimga150
ee3cab84ef
[BLC] Implement Fortune Teller's Talent (#12608)
* Implement Fortune Teller's Talent

* Remove outdated assert from PlayFromTopOfLibraryEffect and update comment
2024-07-31 22:45:59 -04:00
Evan Kranzler
8ed3c0c12d
Reworking standard legality (#12624)
* rework standard rotation

* add comment

* add flag to previous sets
2024-07-31 14:55:48 -04:00
Oleg Agafonov
1914313d6e images: fixed miss phyrexian mana symbol for Rage Extractor 2024-07-31 22:05:52 +04:00
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
Susucre
a76ef60820 align to new enters wording changed upstream 2024-07-30 15:54:26 +02:00
Susucre
c0eab28626
implement [MH3] Primal Prayers ; use choice panel for cast mode choice ; allow some restricted "as thought as it had flash" to work only on matching alternative cast. (#12420) 2024-07-30 15:47:39 +02:00
ssk97
4c8f60e3a2
[PIP] Rampaging Yao Guai, Wild Wasteland, Synth Infiltrator, Paladin Elizabeth Taggerdy (#12613)
* Rampaging Yao Guai

* Wild Wasteland

* Synth Infiltrator

* Paladin Elizabeth Taggerdy

* Fix not including target count if name contains X value

* Fix missing {this}
2024-07-30 00:40:38 -04:00
ssk97
b6b7dd3ce6
Rework Extort (#12609) 2024-07-30 00:39:19 -04:00
jimga150
c73cfebcd9
Fix EntersBattlefieldOneOrMoreTriggeredAbility (#12592)
* Apply fix for ZONE_CHANGE_GROUP events making tokens controlled by different players

* Add test

* Remove unused import

* Fix implementation

* Rewrite to use ZONE_CHANGE_BATCH

* Fix OPPONENT case

* Add default case

* refactor to avoid using stream as local variable and use ZoneChangeEvents in filters

* Fix typo
2024-07-30 00:39:01 -04:00
jimga150
32042687fb
[BLB] Implement Eluge the Shoreless Sea; expand SpellsCostReductionControllerEffect (#12607)
* Implement Eluge, the Shoreless Sea (missing mana cost reduction clause)

* implement ability to convert colored to generic costs in SpellsCostReductionControllerEffect

* fix text generation on SpellsCostReductionControllerEffect

* remove unnecessary setText() calls on SpellsCostReductionControllerEffect

* make logfile from master run

* Fix plurality detection

* Eliminate unnecessary setText() calls in other cards

* Delete logfile

* remove redundant type cast

* Add parameter documentation
2024-07-30 00:38:21 -04:00
PurpleCrowbar
4f90270fa1 Add BLB token images 2024-07-29 22:07:02 +01:00
PurpleCrowbar
831313bcb9
[BLB] Implement Vren, the Relentless (#12615) 2024-07-29 21:45:54 +01:00
PurpleCrowbar
da368e9abf [BLC] Implement Communal Brewing 2024-07-29 02:52:25 +01:00
PurpleCrowbar
3ec3b773e3 Fix Ancient Excavation 2024-07-29 00:10:03 +01:00
PurpleCrowbar
21f5f93dd6 [BLB] Implement Wick, the Whorled Mind 2024-07-28 17:25:51 +01:00
PurpleCrowbar
9db54d7892 [BLB] Implement Ral, Crackling Wit 2024-07-28 15:20:23 +01:00
Oleg Agafonov
1d701df0e8 GUI: added gui scale support for skip and phase button on game panel (part of #969, #6887):
- reworked skip and phase buttons to use layouts instead IDE designer;
- added GUI scale support skip and phase buttons (depend on dialogs font size from preferences settings);
2024-07-28 18:01:15 +04:00
PurpleCrowbar
43d7da9581 Fix players who have lost being valid attack targets 2024-07-27 19:45:22 +01:00
Oleg Agafonov
393dbc4047 Can't be activated effects - fixed that some restricted effects show abilities as playable (example: Sharkey, Tyrant of the Shire and Karakas, fixed #10642) 2024-07-27 15:38:13 +04:00
Oleg Agafonov
2bf6e3e3a2 GUI: added mana and other symbols support in choose spell dialog (closes #12155) 2024-07-27 10:17:22 +04:00
Oleg Agafonov
521a0f6e32 GUI: introduced default card hints:
* refactor: added helper emblems instead rad counter's inherent emblems (use initGameDefaultHelperEmblems to define new card hints or other fake objects);
* refactor: added card hints support for emblems, planes and other command objects;
* GUI: added storm counter as default card hint (use hints tool to see it, closes #12360);
2024-07-27 09:40:41 +04:00
xenohedron
5cc4901580 fix #12575
add test for AddManaInAnyCombinationEffect

cleanup Grand Warlord Radha, add test

simplify some abilities to common class

remove unused constructors
2024-07-25 01:35:51 -04:00
ssk97
be3065789d
[BLB] Consumed by Greed, Thought Shucker, Mabel's Mettle, Heaped Harvest (#12600)
* Consumed by Greed

* Fix Gift text

* Thought Shucker

* Mabel's Mettle

* Heaped Harvest
2024-07-24 20:25:44 -04:00
theelk801
b6bf126dd2 [BLB] Implement Builder's Talent 2024-07-23 17:38:27 -04:00
theelk801
12aa81cbf4 [BLB] Implement Mind Spiral 2024-07-23 15:21:23 -04:00
ssk97
3933364e6e
[ACR] Implement 4x Equipment-related cards (#12593)
* Assassin Gauntlet

* Fix many minor mistakes in ACR cards

* Battlefield Improvisation

* Phantom Blade

* Misthios's Fury

* Fix unset target tag, missing damage amount text

* Remove now-unneeded setText calls for DamageTargetControllerEffect
2024-07-23 02:20:18 -04:00
xenohedron
d9287adea3 minor simplification to ConditionalTargetAdjuster
protect internal Targets list
2024-07-23 02:16:26 -04:00
ssk97
e8808c3ae3
Remove duplicate code for X costs (#12551)
* Replace "([a-zA-Z]+).getManaCostsToPay().getX()" with CardUtil.getSourceCostsTag(game, $1, "X", 0)
Fix Disrupting Shoal

* Change final card .getX() calls

* Condense all ManacostVariableValue enum values into "instance"

* Further removal of getX, Display X symbol for non-mana X cards

* Fix test

* Fully remove ManaCosts.getX

* Replace all different X dynamic values with GetXValue

* Remove individual cards checking getAmount for X values (leaving cost reduction that does not use X)

* Add null check for game object inside getSourceCostsTagsMap

* fix build errors

* fix Vicious Betrayal

* text fix
2024-07-23 01:57:47 -04:00
ssk97
a6e66d6209
Conditional target adjuster (#12585)
* Add ReplacingTargetAdjuster

* Use new target adjuster

* Change name to ConditionalTargetAdjuster, don't use blueprint

* Take a Targets list

* Add keepOldTargets option

* Add missed DamagedPlayerControlsTargetAdjuster to Sigil of Sleep

* Cards using updated ConditionalTargetAdjuster

* BLB gift cards currently implemented

* fix wrong default for keepOldTargets

* Fix Urborg Repossession missing 1st target tag
2024-07-23 00:14:28 -04:00
ssk97
78649c1a62
Remove KickerAbility.getSpellKickedCount (#12553)
* Remove KickerAbility.getSpellKickedCount

* Check spell LKI instead of only current spell object

* Remove bad LKI storage under wrong ID
2024-07-22 23:13:48 -04:00
theelk801
f3d5f6d06a [BLB] Implement Blacksmith's Talent 2024-07-20 16:04:43 -04:00
theelk801
0f33ac298c [BLB] Implement Wax-Wane Witness 2024-07-19 17:45:22 -04:00
theelk801
b92c22d602 [BLB] Implement Ruthless Negotiation 2024-07-19 16:15:02 -04:00
theelk801
2a39589dd3 [BLC] Implement Octomancer 2024-07-19 12:21:37 -04:00
theelk801
26022d9682 [BLC] Implement Perch Protection 2024-07-19 12:15:47 -04:00
theelk801
57503550fe [BLB] Implement Jolly Gerbils 2024-07-18 20:47:12 -04:00
Oleg Agafonov
a974af3c61 GUI: improved choose creature type dialog - important creature types added to the start of the list and marked as my/opponent (closes #8478) 2024-07-19 03:17:53 +04:00
Oleg Agafonov
7b2e9b390c GUI: added card hints in choose replacement effect dialog 2024-07-19 00:06:18 +04:00
theelk801
afe3516a32 [BLB] Implement Blooming Blast 2024-07-18 15:22:18 -04:00