diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 75e6d713a..60e28d274 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -2099,7 +2099,9 @@ void Player::playCard(CardItem *card, bool faceDown, bool tapped) tableRow = faceDown ? 2 : info->getTableRow(); QPoint gridPoint = QPoint(-1, TableZone::clampValidTableRow(2 - tableRow)); cardToMove->set_face_down(faceDown); - cardToMove->set_pt(info->getPowTough().toStdString()); + if (!faceDown) { + cardToMove->set_pt(info->getPowTough().toStdString()); + } cardToMove->set_tapped(faceDown ? false : tapped); if (tableRow != 3) cmd.set_target_zone("table"); diff --git a/cockatrice/src/tablezone.cpp b/cockatrice/src/tablezone.cpp index 308084df1..9247ba2f3 100644 --- a/cockatrice/src/tablezone.cpp +++ b/cockatrice/src/tablezone.cpp @@ -136,14 +136,16 @@ void TableZone::handleDropEventByGrid(const QList &dragItems, cmd.set_x(gridPoint.x()); cmd.set_y(gridPoint.y()); - for (int i = 0; i < dragItems.size(); ++i) { + for (const auto &item : dragItems) { CardToMove *ctm = cmd.mutable_cards_to_move()->add_card(); - ctm->set_card_id(dragItems[i]->getId()); - ctm->set_face_down(dragItems[i]->getFaceDown()); - if (startZone->getName() != name && dragItems[i]->getItem()->getInfo()) - ctm->set_pt(dragItems[i]->getItem()->getInfo()->getPowTough().toStdString()); - else - ctm->set_pt(std::string()); + ctm->set_card_id(item->getId()); + ctm->set_face_down(item->getFaceDown()); + if (startZone->getName() != name && !item->getFaceDown()) { + const auto &info = item->getItem()->getInfo(); + if (info) { + ctm->set_pt(info->getPowTough().toStdString()); + } + } } startZone->getPlayer()->sendGameCommand(cmd); diff --git a/common/server_player.cpp b/common/server_player.cpp index 28acf5181..1c9d21dc0 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -587,11 +587,10 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges, AttrTapped, "1"); } QString ptString = QString::fromStdString(thisCardProperties->pt()); - if (!faceDown) { - ptString = QString::fromStdString(thisCardProperties->pt()); + if (!ptString.isEmpty()) { + setCardAttrHelper(ges, targetzone->getPlayer()->getPlayerId(), targetzone->getName(), card->getId(), + AttrPT, ptString); } - setCardAttrHelper(ges, targetzone->getPlayer()->getPlayerId(), targetzone->getName(), card->getId(), AttrPT, - ptString); } if (startzone->getAlwaysRevealTopCard() && !startzone->getCards().isEmpty() && (originalPosition == 0)) { Event_RevealCards revealEvent;