feat: implement quest sharing with party via CMSG_PUSHQUESTTOPARTY

This commit is contained in:
Kelsi 2026-03-12 09:56:38 -07:00
parent e781ede5b2
commit 71b0a18238
4 changed files with 41 additions and 1 deletions

View file

@ -377,6 +377,11 @@ void QuestLogScreen::render(game::GameHandler& gameHandler, InventoryScreen& inv
if (ImGui::MenuItem(tracked ? "Untrack" : "Track")) {
gameHandler.setQuestTracked(q.questId, !tracked);
}
if (gameHandler.isInGroup() && !q.complete) {
if (ImGui::MenuItem("Share Quest")) {
gameHandler.shareQuestWithParty(q.questId);
}
}
if (!q.complete) {
ImGui::Separator();
if (ImGui::MenuItem("Abandon Quest")) {
@ -559,12 +564,19 @@ void QuestLogScreen::render(game::GameHandler& gameHandler, InventoryScreen& inv
}
}
// Track / Abandon buttons
// Track / Share / Abandon buttons
ImGui::Separator();
bool isTracked = gameHandler.isQuestTracked(sel.questId);
if (ImGui::Button(isTracked ? "Untrack" : "Track", ImVec2(100.0f, 0.0f))) {
gameHandler.setQuestTracked(sel.questId, !isTracked);
}
if (gameHandler.isInGroup() && !sel.complete) {
ImGui::SameLine();
if (ImGui::Button("Share", ImVec2(80.0f, 0.0f))) {
gameHandler.shareQuestWithParty(sel.questId);
}
if (ImGui::IsItemHovered()) ImGui::SetTooltip("Share this quest with your party");
}
if (!sel.complete) {
ImGui::SameLine();
if (ImGui::Button("Abandon Quest", ImVec2(150.0f, 0.0f))) {