Commit graph

334 commits

Author SHA1 Message Date
Oleg Agafonov
1b5f8ce1af GUI: fixed wrong background rendering of card's popup window (related to #12261), deleted un-used code; 2024-05-20 23:19:51 +04:00
Susucre
85cad4ff1e
cleanup AbilityType for easier check that an ability is an activated ability (#12153)
* cleanup AbilityType

* further cleanup

* cleanup instanceof

* tweak formatting

* rework Rex

* fix mistake in PlayerImpl

* cleanup 'instanceof' for 'ActivatedManaAbilityImpl'
2024-05-03 22:13:34 -04:00
Oleg Agafonov
2aea44da2c gui: fixed token render in mtgo mode (part of #11873) 2024-02-29 07:10:59 +04:00
Oleg Agafonov
e38a79f231
Face down images and cards rework (#11873)
Face down changes:
* GUI: added visible face down type and real card name for controller/owner (opponent can see it after game ends);
* GUI: added day/night button to view real card for controller/owner (opponent can see it after game ends);
* game: fixed that faced-down card can render symbols, abilities and other hidden data from a real card;
* images: added image support for normal faced-down cards;
* images: added image support for morph and megamorph faced-down cards;
* images: added image support for foretell faced-down cards;

Other changes:
* images: fixed missing tokens from DDD set;
* images: no more client restart to apply newly downloaded images or render settings;
* images: improved backface image quality (use main menu -> symbols to download it);
2024-02-29 01:14:54 +04:00
Matthew Wilson
41dbec4dbd
GUI: Improved rendering of Class cards (#11767) 2024-02-09 11:58:16 +04:00
Matthew Wilson
506e94d519
GUI: improved rendering of Adventure cards (#11764)
* GUI: Improved rendering of Adventure cards

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-02-09 11:55:34 +04:00
Matthew Wilson
e1968a6b5f
GUI: improved rendering of Saga and Case cards (#11762)
Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-02-06 12:33:11 +04:00
Tirth Bharatiya
6a1f4a35d4
refactor: extracted resource load methods from ModernCardRenderer to ModernCard (#11478) 2023-11-27 23:27:17 +04:00
Oleg Agafonov
550e97e1e3 refactor: removed some outdated GUI components and code 2023-11-27 00:20:11 +04:00
Oleg Agafonov
4500b79008 GUI: added changeable card popup mode for chats/logs by card name clicks (alternative to mouse wheel from game cards);
other: fixed duplicated chat popups in game, added miss error logs from popup related code, added additional checks for good code usage;
2023-11-26 12:48:41 +04:00
Oleg Agafonov
a0ed89035f GUI: fixed wrong clicks from additional mouse buttons (now only left clicks are allowed, closes #11455) 2023-11-23 09:23:01 +04:00
Tirth Bharatiya
44b8a0faf4
refactor: improved code to increase readability. (#11418)
Moved the cardViewEquals method from CardPanelRenderModeMTGO to CardView
Decomposed conditional to increase readability.
Changed the variable/constant names to increase the readability.
2023-11-17 10:47:53 +04:00
bobwoco
8bcff5841c
gui: improved svg Refactor css file URIs to comply with library change (#11366)
Co-authored-by: Ethan Ward <ethanandrewward@gmail.com>
2023-10-30 05:39:54 +04:00
PurpleCrowbar
dc7d1450f2 Fix text on DFC button's tooltip 2023-10-14 18:39:45 +01:00
Susucre
5062c84098
Refactor: removed server side objects from a client side game's data (#10788)
* Clean original values transmitted with CardView.originalObject
* Move RateCard to mage.Common, support cardView as argument.
* Clean PermanentView constructor for TestCardRenderDialog
2023-08-24 12:04:07 +04:00
Susucre
ea6f3c05de
[GUI] Add Token on type line. (#10813)
* [GUI] Add Token on type line.

* rewrite comment.
2023-08-16 22:45:15 -04:00
xenohedron
f1757e5628
Add {P} symbol for Rage Extractor (#10762) 2023-08-05 20:53:52 -04:00
xenohedron
45b54e8cc4 code style: private static final 2023-07-07 23:34:16 -04:00
Alexander Novotny
fae63d9d4b
Add additional ability icons (#10549)
* Slightly revamped basic card icons

All icon classes which were just static text have been removed, and instead replaced with a static instance.

A new icon for reach has been added

Some icons have been reused for new abilities (hexproof for shroud and ward, infect for toxic)

When a card would have two icons of the same type, the icons are instead combines into one with a combined hover tooltip.

* Fixed missing capitalization on ward, hexproof
2023-07-04 01:22:07 +04:00
Oleg Agafonov
1f4dfd08ce docs: added some comments about tokens, verify, test mode, etc 2023-05-09 12:27:18 +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
583c5fe4e9 GUI: improved double faced tokens:
- added tokens support in test render dialog;
 - improved PT drawing;
 - fixed broken second side switch button (related to #10231);
 - fixed miss override in TokenImpl (all override with backFace must be removed, see todo);
2023-04-29 19:13:13 +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
914cfc1d3a Refactor: fixed getRules usage, clean SplitCard code 2023-04-08 19:27:47 +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
Oleg Agafonov
743143acde * GUI: meld cards improves:
* added images download for melds cards (#9660);
 * added switch card side button to view a meld part;
 * fixed NPE and other errors on card side switching;
 * added meld cards support in test render dialog;
2023-03-09 21:36:39 +04:00
Oleg Agafonov
1b54659c7d Improved thread code 2023-03-04 21:23:03 +04:00
Oleg Agafonov
4274b75225 * GUI: fixed hybrid mana symbols download and render (#10082); 2023-02-27 14:48:01 +04:00
Alex Vasile
2ff5cddbce
Refactored CardPanelRenderModes to make them more readable (#9574) 2022-09-26 09:48:14 -04:00
PurpleCrowbar
afc32be642
[DMC] Implement Rohgahh, Kher Keep Overlord (#9477) 2022-09-07 19:45:15 -04:00
Alex Vasile
07a142c9e8
Refactor: Add proper support for modifying and querying base P/T (#9409) 2022-09-01 19:57:30 -04:00
Evan Kranzler
db7eb398cc fixed multicolored split cards rendering 2022-03-11 09:25:54 -05:00
Alex W. Jackson
c355834a4e Fix #8337, #8456 2021-11-14 14:13:31 -05: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
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
Oleg Agafonov
1f381cffe5 GUI: improved cards with transform ability:
* added transform button to permanents on battlefield to view another card side;
* fixed wrong popup hints in some use cases (example: alternative side view by mouse wheel down, #8433);
2021-11-05 23:16:44 +04:00
spjspj
67c07ecefc Update for Full Art Face art. 2021-09-12 00:49:00 +10:00
spjspj
5bbcf03cb6 EDH Power level update (based on Saltiest EDHREC survey). Update for Full Art Face art. 2021-09-11 23:32:34 +10: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
spjspj
e29b22df6e Add in decreasing rectangle spiral for paper original dual lands 2021-08-12 00:21:41 +10:00
Oleg Agafonov
18687fe197 Merge fix 2021-07-24 04:55:44 +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
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
Oleg Agafonov
b6cb5cef9c Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
Oleg Agafonov
1239a0299b GUI: fixed rare NPE error on images loading in the games; 2021-02-13 17:03:15 +04:00
Oleg Agafonov
275e996c08 * Performance: memory usage optimization for deck editor (removed bloated usage of ManaCosts -> ManaColor objects, see #7515); 2021-02-12 22:00:16 +04:00
Oleg Agafonov
c256aa59f7 GUI: fixed error on closing dialogs/games (#7507); 2021-02-05 20:54:21 +04:00
Oleg Agafonov
be77ecea84 GUI: fixed not working single and double clicks on the card's second side (draft, deck editor, see #7472); 2021-02-03 11:32:15 +04:00
Oleg Agafonov
3b7e01d687 GUI: fixed that the playable card mark is not displayed for the second side after day/night button click; 2021-02-03 11:30:24 +04:00
Oleg Agafonov
2fe2f05b60 GUI: added preferences settings for card icons (enable abilities icons and playable icon); 2021-01-30 17:34:10 +04:00