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);
This commit is contained in:
Oleg Agafonov 2024-02-29 01:14:54 +04:00 committed by GitHub
parent 4901de12c1
commit e38a79f231
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
104 changed files with 2178 additions and 1495 deletions

View file

@ -19,6 +19,7 @@ import mage.client.util.audio.AudioManager;
import mage.client.util.sets.ConstructedFormats;
import mage.components.ImagePanel;
import mage.components.ImagePanelStyle;
import mage.constants.MageObjectType;
import mage.game.command.Dungeon;
import mage.game.command.Emblem;
import mage.game.command.Plane;
@ -396,7 +397,7 @@ public class MageBook extends JComponent {
draftRating.setBounds(rectangle.x, rectangle.y + cardImg.getCardLocation().getCardHeight() + dy, cardDimensions.getFrameWidth(), 20);
draftRating.setHorizontalAlignment(SwingConstants.CENTER);
draftRating.setFont(jLayeredPane.getFont().deriveFont(jLayeredPane.getFont().getStyle() | Font.BOLD));
if (card.isOriginalACard()) {
if (card.getMageObjectType().equals(MageObjectType.CARD)) {
// card
draftRating.setText("draft rating: " + RateCard.rateCard(card, null));
} else {

View file

@ -87,8 +87,8 @@ public class MageCardComparator implements CardViewComparator {
bCom = RateCard.rateCard(b, null);
break;
case 10:
aCom = a.getColorIdentityStr();
bCom = b.getColorIdentityStr();
aCom = a.getOriginalColorIdentity();
bCom = b.getOriginalColorIdentity();
break;
default:
break;

View file

@ -255,7 +255,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
case 9:
return RateCard.rateCard(c, null);
case 10:
return ManaSymbols.getClearManaCost(c.getColorIdentityStr());
return ManaSymbols.getClearManaCost(c.getOriginalColorIdentity());
default:
return "error";
}