From 3b19304f64f42a0989336c7d6a43ad4a5fb49bae Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 14 Feb 2018 12:41:44 +0100 Subject: [PATCH] * Fixed that soulbond arrow to paired card was not shown and improved soulbond text on permanent. --- .../src/main/java/mage/client/util/gui/GuiDisplayUtil.java | 6 ------ Mage.Common/src/main/java/mage/view/CardView.java | 7 +++---- .../main/java/mage/abilities/keyword/SoulbondAbility.java | 4 +++- Mage/src/main/java/mage/game/permanent/PermanentImpl.java | 4 ++++ 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java index 293231595b7..6a5dd6c453c 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java @@ -134,12 +134,6 @@ public final class GuiDisplayUtil { for (String rule : card.getRules()) { textLines.basicTextLength += rule.length(); } - if (card.getMageObjectType() == MageObjectType.PERMANENT) { - if (card.getPairedCard() != null) { - textLines.lines.add("Paired with another creature"); - textLines.basicTextLength += 30; - } - } if (card.getMageObjectType().canHaveCounters()) { ArrayList counters = new ArrayList<>(); if (card instanceof PermanentView) { diff --git a/Mage.Common/src/main/java/mage/view/CardView.java b/Mage.Common/src/main/java/mage/view/CardView.java index 3d56ae7d26d..b5d1f205a3a 100644 --- a/Mage.Common/src/main/java/mage/view/CardView.java +++ b/Mage.Common/src/main/java/mage/view/CardView.java @@ -27,6 +27,8 @@ */ package mage.view; +import java.util.*; +import java.util.stream.Collectors; import mage.MageObject; import mage.ObjectColor; import mage.abilities.Abilities; @@ -51,9 +53,6 @@ import mage.target.Target; import mage.target.Targets; import mage.util.SubTypeList; -import java.util.*; -import java.util.stream.Collectors; - /** * @author BetaSteward_at_googlemail.com */ @@ -352,12 +351,12 @@ public class CardView extends SimpleCardView { if (game != null) { if (permanent.getCounters(game) != null && !permanent.getCounters(game).isEmpty()) { this.loyalty = Integer.toString(permanent.getCounters(game).getCount(CounterType.LOYALTY)); - this.pairedCard = permanent.getPairedCard() != null ? permanent.getPairedCard().getSourceId() : null; counters = new ArrayList<>(); for (Counter counter : permanent.getCounters(game).values()) { counters.add(new CounterView(counter)); } } + this.pairedCard = permanent.getPairedCard() != null ? permanent.getPairedCard().getSourceId() : null; if (!permanent.getControllerId().equals(permanent.getOwnerId())) { controlledByOwner = false; } diff --git a/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java b/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java index 26226c8ac05..b4b1aa1bff3 100644 --- a/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java @@ -32,7 +32,6 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; -import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -47,6 +46,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetControlledPermanent; +import mage.util.GameLog; /** * 702.94. Soulbond @@ -168,7 +168,9 @@ class SoulboundEntersSelfEffect extends OneShotEffect { Permanent chosen = game.getPermanent(target.getFirstTarget()); if (chosen != null) { chosen.setPairedCard(new MageObjectReference(permanent, game)); + chosen.addInfo("soulbond", "Soulbond to " + GameLog.getColoredObjectIdNameForTooltip(permanent), game); permanent.setPairedCard(new MageObjectReference(chosen, game)); + permanent.addInfo("soulbond", "Soulbond to " + GameLog.getColoredObjectIdNameForTooltip(chosen), game); if (!game.isSimulation()) { game.informPlayers(controller.getLogName() + " soulbonds " + permanent.getLogName() + " with " + chosen.getLogName()); } diff --git a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java index c68a8be15db..e66e9cb4428 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java @@ -1319,6 +1319,10 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { @Override public void setPairedCard(MageObjectReference pairedCard) { this.pairedPermanent = pairedCard; + if (pairedCard == null) { + // remove existing soulbond info text + this.addInfo("soulbond", null, null); + } } @Override