* Fixed some handling problems with face down creatures (Ixidron).

This commit is contained in:
LevelX2 2014-11-28 17:38:53 +01:00
parent b06637df53
commit 07b509684a
3 changed files with 44 additions and 24 deletions

View file

@ -703,10 +703,16 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti
try {
tappedAngle = isTapped() ? CardPanel.TAPPED_ANGLE : 0;
flippedAngle = isFlipped() ? CardPanel.FLIPPED_ANGLE : 0;
BufferedImage srcImage;
if (gameCard.isFaceDown()) {
return;
if (gameCard.isMorphCard()) {
srcImage = ImageCache.getMorphImage();
} else {
srcImage = ImageCache.loadImage(new TFile(DirectLinksForDownload.outDir + File.separator + DirectLinksForDownload.cardbackFilename));
}
} else {
srcImage = ImageCache.getThumbnail(gameCard);
}
BufferedImage srcImage = ImageCache.getThumbnail(gameCard);
if (srcImage != null) {
hasImage = true;
setText(gameCard);

View file

@ -128,7 +128,7 @@ public class CardView extends SimpleCardView {
*
* @param card
* @param cardId
* @param controlled is the card view created for the card controller - used for morph cards to know which player may see information for the card
* @param controlled is the card view created for the card controller - used for morph / face down cards to know which player may see information for the card
*/
public CardView(Card card, UUID cardId, boolean controlled) {
super(card.getId(), card.getExpansionSetCode(), card.getCardNumber(), card.isFaceDown(), card.getUsesVariousArt(), card.getTokenSetCode());
@ -151,9 +151,17 @@ public class CardView extends SimpleCardView {
return;
}
} else {
this.fillEmpty(card, false);
this.hideInfo = true;
return;
if (card instanceof Permanent) {
this.fillEmpty(card, controlled);
this.power = Integer.toString(card.getPower().getValue());
this.toughness = Integer.toString(card.getToughness().getValue());
this.cardTypes = card.getCardType();
} else {
this.fillEmpty(card, false);
this.hideInfo = true;
return;
}
}
}

View file

@ -111,27 +111,33 @@ public class PermanentView extends CardView {
this.nameOwner = "";
}
if (permanent.isFaceDown() && permanent.isMorphCard()) {
// add morph rule text
if (card != null) {
if (controlled) {
for (Ability permanentAbility : permanent.getAbilities()) {
if (permanentAbility instanceof TurnFaceUpAbility && !permanentAbility.getRuleVisible()) {
this.rules.add(permanentAbility.getRule(true));
}
if (permanentAbility.getWorksFaceDown()) {
this.rules.add(permanentAbility.getRule());
if (permanent.isFaceDown()) {
if (permanent.isMorphCard()){
// add morph rule text
if (card != null) {
if (controlled) {
for (Ability permanentAbility : permanent.getAbilities()) {
if (permanentAbility instanceof TurnFaceUpAbility && !permanentAbility.getRuleVisible()) {
this.rules.add(permanentAbility.getRule(true));
}
if (permanentAbility.getWorksFaceDown()) {
this.rules.add(permanentAbility.getRule());
}
}
this.name = card.getName();
this.expansionSetCode = card.getExpansionSetCode();
this.cardNumber = card.getCardNumber();
} else {
this.rules.add("If the controller has priority, he or she may turn this permanent face up." +
" This is a special action; it doesn’t use the stack. To do this he or she pays the morph costs," +
" then turns this permanent face up.");
}
}
} else{
if (controlled && card != null) {
this.name = card.getName();
this.expansionSetCode = card.getExpansionSetCode();
this.cardNumber = card.getCardNumber();
} else {
this.rules.add("If the controller has priority, he or she may turn this permanent face up." +
" This is a special action; it doesn’t use the stack. To do this he or she pays the morph costs," +
" then turns this permanent face up.");
}
this.displayName = card.getName();
}
}
}