mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Support creating face-down tokens (#5800)
* add new fields to proto * update token dlg * send facedown in command * update server to get it to work * disable certain edits when face down * update client event processing * log face-down token creation * Don't support colors on face-down tokens The other client doesn't know about the color, so it causes a desync * Update wording Co-authored-by: Basile Clement <Elarnon@users.noreply.github.com> * Allow annotations on face-down tokens --------- Co-authored-by: Basile Clement <Elarnon@users.noreply.github.com>
This commit is contained in:
parent
e3465be8c1
commit
bb8213deb5
10 changed files with 97 additions and 19 deletions
|
|
@ -1855,6 +1855,7 @@ void Player::actCreateAnotherToken()
|
|||
cmd.set_pt(lastTokenInfo.pt.toStdString());
|
||||
cmd.set_annotation(lastTokenInfo.annotation.toStdString());
|
||||
cmd.set_destroy_on_zone_change(lastTokenInfo.destroy);
|
||||
cmd.set_face_down(lastTokenInfo.faceDown);
|
||||
cmd.set_x(-1);
|
||||
cmd.set_y(lastTokenTableRow);
|
||||
|
||||
|
|
@ -2233,10 +2234,10 @@ void Player::eventCreateToken(const Event_CreateToken &event)
|
|||
|
||||
CardItem *card = new CardItem(this, nullptr, QString::fromStdString(event.card_name()),
|
||||
QString::fromStdString(event.card_provider_id()), event.card_id());
|
||||
// use db PT if not provided in event
|
||||
// use db PT if not provided in event and not face-down
|
||||
if (!QString::fromStdString(event.pt()).isEmpty()) {
|
||||
card->setPT(QString::fromStdString(event.pt()));
|
||||
} else {
|
||||
} else if (!event.face_down()) {
|
||||
CardInfoPtr dbCard = card->getInfo();
|
||||
if (dbCard) {
|
||||
card->setPT(dbCard->getPowTough());
|
||||
|
|
@ -2245,8 +2246,9 @@ void Player::eventCreateToken(const Event_CreateToken &event)
|
|||
card->setColor(QString::fromStdString(event.color()));
|
||||
card->setAnnotation(QString::fromStdString(event.annotation()));
|
||||
card->setDestroyOnZoneChange(event.destroy_on_zone_change());
|
||||
card->setFaceDown(event.face_down());
|
||||
|
||||
emit logCreateToken(this, card->getName(), card->getPT());
|
||||
emit logCreateToken(this, card->getName(), card->getPT(), card->getFaceDown());
|
||||
zone->addCard(card, true, event.x(), event.y());
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue