mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Fix resurrect: correct packet routing and show caster name in dialog
Two bugs fixed: 1. acceptResurrect() was always sending CMSG_SPIRIT_HEALER_ACTIVATE even for player-cast resurrections (Priest/Paladin/Druid). That opcode is only the correct response to SMSG_SPIRIT_HEALER_CONFIRM. For SMSG_RESURRECT_REQUEST the server expects CMSG_RESURRECT_RESPONSE with accept=1. Added resurrectIsSpiritHealer_ to track which path triggered the dialog and send the right packet per type. 2. The resurrect dialog showed a generic "Return to life?" string regardless of who cast the resurrection. Parse the optional CString name from SMSG_RESURRECT_REQUEST (or fall back to playerNameCache) and display "X wishes to resurrect you." when the caster is known.
This commit is contained in:
parent
ede380ec60
commit
c6e39707de
3 changed files with 39 additions and 10 deletions
|
|
@ -7034,10 +7034,13 @@ void GameScreen::renderResurrectDialog(game::GameHandler& gameHandler) {
|
|||
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar)) {
|
||||
|
||||
ImGui::Spacing();
|
||||
const char* text = "Return to life?";
|
||||
float textW = ImGui::CalcTextSize(text).x;
|
||||
ImGui::SetCursorPosX((dlgW - textW) / 2);
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.9f, 1.0f, 1.0f), "%s", text);
|
||||
const std::string& casterName = gameHandler.getResurrectCasterName();
|
||||
std::string text = casterName.empty()
|
||||
? "Return to life?"
|
||||
: casterName + " wishes to resurrect you.";
|
||||
float textW = ImGui::CalcTextSize(text.c_str()).x;
|
||||
ImGui::SetCursorPosX(std::max(4.0f, (dlgW - textW) / 2));
|
||||
ImGui::TextColored(ImVec4(0.8f, 0.9f, 1.0f, 1.0f), "%s", text.c_str());
|
||||
|
||||
ImGui::Spacing();
|
||||
ImGui::Spacing();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue