diff --git a/cockatrice/src/messagelogwidget.cpp b/cockatrice/src/messagelogwidget.cpp index 4ce4621d..d7935435 100644 --- a/cockatrice/src/messagelogwidget.cpp +++ b/cockatrice/src/messagelogwidget.cpp @@ -198,7 +198,7 @@ void MessageLogWidget::logMoveCard(Player *player, QString cardName, CardZone *s else cardStr = QString("%1").arg(sanitizeHtml(cardName)); - if ((startName == "table") && (targetName == "table")) { + if (startZone->getPlayer() != targetZone->getPlayer()) { append(tr("%1 gives %2 control over %3.").arg(sanitizeHtml(player->getName())).arg(sanitizeHtml(targetZone->getPlayer()->getName())).arg(cardStr)); return; } diff --git a/common/server_player.cpp b/common/server_player.cpp index a1092d39..7b1c233e 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -235,8 +235,8 @@ public: ResponseCode Server_Player::moveCard(CommandContainer *cont, Server_CardZone *startzone, const QList &_cardIds, Server_CardZone *targetzone, int x, int y, bool faceDown, bool tapped) { - // Disallow controller change between different zones. - if ((startzone->getName() != targetzone->getName()) && (startzone->getPlayer() != targetzone->getPlayer())) + // Disallow controller change to other zones than the table. + if (((targetzone->getType() != PublicZone) || !targetzone->hasCoords()) && (startzone->getPlayer() != targetzone->getPlayer())) return RespContextError; if (!targetzone->hasCoords() && (x == -1))