Don't support colors on face-down tokens

The other client doesn't know about the color, so it causes a desync
This commit is contained in:
RickyRister 2025-04-21 21:45:25 -07:00
parent 2a3eab2aa9
commit 89b60151f3
2 changed files with 5 additions and 2 deletions

View file

@ -162,6 +162,8 @@ void DlgCreateToken::closeEvent(QCloseEvent *event)
void DlgCreateToken::faceDownCheckBoxToggled(bool checked)
{
if (checked) {
colorEdit->setCurrentIndex(6);
colorEdit->setEnabled(false);
ptEdit->clear();
ptEdit->clearFocus();
ptEdit->setEnabled(false);
@ -169,6 +171,7 @@ void DlgCreateToken::faceDownCheckBoxToggled(bool checked)
annotationEdit->clearFocus();
annotationEdit->setEnabled(false);
} else {
colorEdit->setEnabled(true);
ptEdit->setEnabled(true);
annotationEdit->setEnabled(true);
}

View file

@ -401,9 +401,9 @@ makeCreateTokenEvent(Server_CardZone *zone, Server_Card *card, int xCoord, int y
if (!card->getFaceDown() || revealFacedownInfo) {
event.set_card_name(card->getName().toStdString());
event.set_card_provider_id(card->getProviderId().toStdString());
event.set_color(card->getColor().toStdString());
}
event.set_color(card->getColor().toStdString());
event.set_pt(card->getPT().toStdString());
event.set_annotation(card->getAnnotation().toStdString());
event.set_destroy_on_zone_change(card->getDestroyOnZoneChange());
@ -1515,9 +1515,9 @@ Server_Player::cmdCreateToken(const Command_CreateToken &cmd, ResponseContainer
auto *card = new Server_Card(cardName, cardProviderId, newCardId(), xCoord, yCoord);
card->moveToThread(thread());
card->setColor(nameFromStdString(cmd.color()));
// Client should already prevent face-down tokens from having attributes; this just an extra server-side check
if (!cmd.face_down()) {
card->setColor(nameFromStdString(cmd.color()));
card->setPT(nameFromStdString(cmd.pt()));
card->setAnnotation(nameFromStdString(cmd.annotation()));
}