mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-02 15:53:51 +00:00
fix: forceClearTaxiAndMovementState cleared unrelated death/resurrect state
A function for taxi/movement cleanup was resetting 10 death-related fields (playerDead_, releasedSpirit_, resurrectPending_, etc.), which could cancel a pending resurrection or mark a dead player as alive when called during taxi dismount. Death state is owned by entity_controller and resurrect packet handlers, not movement cleanup.
This commit is contained in:
parent
2e1f0f15ea
commit
a1252a56c9
1 changed files with 5 additions and 10 deletions
|
|
@ -685,16 +685,11 @@ void MovementHandler::forceClearTaxiAndMovementState() {
|
||||||
taxiMountDisplayId_ = 0;
|
taxiMountDisplayId_ = 0;
|
||||||
owner_.currentMountDisplayId_ = 0;
|
owner_.currentMountDisplayId_ = 0;
|
||||||
owner_.vehicleId_ = 0;
|
owner_.vehicleId_ = 0;
|
||||||
owner_.resurrectPending_ = false;
|
// Death/resurrect state is intentionally NOT cleared here.
|
||||||
owner_.resurrectRequestPending_ = false;
|
// Previously this method reset 10 death-related fields despite being named
|
||||||
owner_.selfResAvailable_ = false;
|
// "forceClearTaxiAndMovementState", which could cancel pending resurrections
|
||||||
owner_.playerDead_ = false;
|
// or clear death state on taxi dismount. Death state is managed by
|
||||||
owner_.releasedSpirit_ = false;
|
// entity_controller (markPlayerDead) and the resurrect packet handlers.
|
||||||
owner_.corpseGuid_ = 0;
|
|
||||||
owner_.corpseReclaimAvailableMs_ = 0;
|
|
||||||
owner_.repopPending_ = false;
|
|
||||||
owner_.pendingSpiritHealerGuid_ = 0;
|
|
||||||
owner_.resurrectCasterGuid_ = 0;
|
|
||||||
|
|
||||||
movementInfo.flags = 0;
|
movementInfo.flags = 0;
|
||||||
movementInfo.flags2 = 0;
|
movementInfo.flags2 = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue