From f04702fdd1316a568eb63315b7425e6daba78c6b Mon Sep 17 00:00:00 2001 From: ZeldaZach Date: Sun, 16 Jun 2024 21:10:07 -0400 Subject: [PATCH] Backwards Compatibility for rolling dice --- cockatrice/src/player.cpp | 9 +++++---- common/server_player.cpp | 7 ++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 3573ab240..7be6c04ef 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -1963,10 +1963,7 @@ void Player::eventShuffle(const Event_Shuffle &event) void Player::eventRollDie(const Event_RollDie &event) { - if (event.value()) { - // Backwards compatibility for old clients - emit logRollDie(this, static_cast(event.sides()), {event.value()}); - } else { + if (!event.values().empty()) { #if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) QList rolls(event.values().begin(), event.values().end()); #else @@ -1978,6 +1975,10 @@ void Player::eventRollDie(const Event_RollDie &event) std::sort(rolls.begin(), rolls.end()); emit logRollDie(this, static_cast(event.sides()), rolls); } + else if (event.value()) { + // Backwards compatibility for old clients + emit logRollDie(this, static_cast(event.sides()), {event.value()}); + } } void Player::eventCreateArrow(const Event_CreateArrow &event) diff --git a/common/server_player.cpp b/common/server_player.cpp index 31790b265..862705a7d 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -1076,7 +1076,12 @@ Server_Player::cmdRollDie(const Command_RollDie &cmd, ResponseContainer & /*rc*/ Event_RollDie event; event.set_sides(validatedSides); for (auto i = 0; i < validatedDiceToRoll; ++i) { - event.add_values(rng->rand(1, validatedSides)); + const auto roll = rng->rand(1, validatedSides); + if (i == 0) { + // Backwards compatibility + event.set_value(roll); + } + event.add_values(roll); } ges.enqueueGameEvent(event, playerId);