mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
feat: implement self-resurrection (Reincarnation/Twisting Nether)
SMSG_PRE_RESURRECT was silently discarded; Shamans with Reincarnation and Warlocks with Twisting Nether could never see or use the self-res ability. Now: - SMSG_PRE_RESURRECT sets selfResAvailable_ flag when addressed to the local player - Death dialog gains a "Use Self-Resurrection" button (blue, shown above Release Spirit) when the flag is set - Clicking it sends CMSG_SELF_RES (empty body) and clears the flag - selfResAvailable_ is cleared on all resurrection and session-reset paths so it never bleeds across deaths or logins
This commit is contained in:
parent
395a8f77c4
commit
5a5c2dcda3
3 changed files with 43 additions and 3 deletions
|
|
@ -1171,6 +1171,10 @@ public:
|
|||
bool isPlayerGhost() const { return releasedSpirit_; }
|
||||
bool showDeathDialog() const { return playerDead_ && !releasedSpirit_; }
|
||||
bool showResurrectDialog() const { return resurrectRequestPending_; }
|
||||
/** True when SMSG_PRE_RESURRECT arrived — Reincarnation/Twisting Nether available. */
|
||||
bool canSelfRes() const { return selfResAvailable_; }
|
||||
/** Send CMSG_SELF_RES to use Reincarnation / Twisting Nether. */
|
||||
void useSelfRes();
|
||||
const std::string& getResurrectCasterName() const { return resurrectCasterName_; }
|
||||
bool showTalentWipeConfirmDialog() const { return talentWipePending_; }
|
||||
uint32_t getTalentWipeCost() const { return talentWipeCost_; }
|
||||
|
|
@ -3314,6 +3318,7 @@ private:
|
|||
uint64_t pendingSpiritHealerGuid_ = 0;
|
||||
bool resurrectPending_ = false;
|
||||
bool resurrectRequestPending_ = false;
|
||||
bool selfResAvailable_ = false; // SMSG_PRE_RESURRECT received — Reincarnation/Twisting Nether
|
||||
// ---- Talent wipe confirm dialog ----
|
||||
bool talentWipePending_ = false;
|
||||
uint64_t talentWipeNpcGuid_ = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue