From 2925ee270b058a62124b6dd1a88f145ddecad5a9 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 27 Jan 2012 14:59:05 +0000 Subject: [PATCH] Cards can now add extra information to be displayed in the card information window. --- .../gempukku/lotro/cards/AbstractLotroCardBlueprint.java | 5 +++++ .../cards/modifiers/spotting/SimpleLotroCardBlueprint.java | 5 +++++ .../com/gempukku/lotro/cards/set11/gollum/Card11_050.java | 7 +++++++ .../com/gempukku/lotro/cards/set15/men/Card15_076.java | 7 +++++++ .../java/com/gempukku/lotro/game/LotroCardBlueprint.java | 2 ++ .../java/com/gempukku/lotro/game/LotroGameMediator.java | 6 ++++++ 6 files changed, 32 insertions(+) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java index d3afb68a3..11573dd2c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractLotroCardBlueprint.java @@ -231,6 +231,11 @@ public abstract class AbstractLotroCardBlueprint implements LotroCardBlueprint { return null; } + @Override + public String getExtraDisplayableInformation(PhysicalCard self) { + return null; + } + @Override public Direction getSiteDirection() { throw new UnsupportedOperationException("This method should not be called on this card"); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java index 655063c5c..7abce777a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/spotting/SimpleLotroCardBlueprint.java @@ -197,6 +197,11 @@ public class SimpleLotroCardBlueprint implements LotroCardBlueprint { return false; } + @Override + public String getExtraDisplayableInformation(PhysicalCard self) { + return null; + } + @Override public boolean isUnique() { return false; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/gollum/Card11_050.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/gollum/Card11_050.java index eae148eef..6d2f1f932 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/gollum/Card11_050.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set11/gollum/Card11_050.java @@ -56,6 +56,13 @@ public class Card11_050 extends AbstractPermanent { return null; } + @Override + public String getExtraDisplayableInformation(PhysicalCard self) { + if (self.getWhileInZoneData() != null) + return "Selected keyword is: " + ((Keyword) self.getWhileInZoneData()).getHumanReadable(); + return null; + } + @Override public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { if (TriggerConditions.movesTo(game, effectResult, (Keyword) self.getWhileInZoneData()) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/men/Card15_076.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/men/Card15_076.java index 1aa3003d8..bdac554cf 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/men/Card15_076.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/men/Card15_076.java @@ -53,4 +53,11 @@ public class Card15_076 extends AbstractPermanent { } return null; } + + @Override + public String getExtraDisplayableInformation(PhysicalCard self) { + if (self.getWhileInZoneData() != null) + return "Random site name is: " + self.getWhileInZoneData(); + return null; + } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java index 08b304d27..2edb94597 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprint.java @@ -89,6 +89,8 @@ public interface LotroCardBlueprint { public Direction getSiteDirection(); + public String getExtraDisplayableInformation(PhysicalCard self); + public enum Direction { LEFT, RIGHT } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java index cdb415a0c..999e55a4b 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroGameMediator.java @@ -132,6 +132,12 @@ public class LotroGameMediator { sb.append("
" + GameUtils.getAppendedNames(stackedCards)); } + final String extraDisplayableInformation = card.getBlueprint().getExtraDisplayableInformation(card); + if (extraDisplayableInformation != null) { + sb.append("
Extra information:"); + sb.append("
" + extraDisplayableInformation); + } + sb.append("

Effective stats:"); try { int twilightCost = _lotroGame.getModifiersQuerying().getTwilightCost(_lotroGame.getGameState(), card, false);