-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Respawn Aggro Delay #30273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Respawn Aggro Delay #30273
Conversation
|
This handling is wrong. This "grace period" is actually whatever ms is left for Heartbeat to kick in before the creature can react to you upon respawning. I think @Ovahlord could confirm this, he did research. |
Except that heartbeat is per-object, its not a global timer to have "whatever is left before tick" |
|
Heartbeat doesn't reset upon dying for creatures as far as I know, though. It can totally desynch from respawning time and force reaction on you sooner than expected. That's why sometimes when walking over creatures that have just respawned doesn't force reaction immediately on you and sometimes it does. |
I'll let someone else confirm this. I have no packet sniffs. |
|
The thing that we have to address first is implementing a proper 'passive' react state - one which prevent a creature from engaging on their own but wont prevent it from hitting back when hit. Next up, heartbeat is indeed on a per creature basis. the reason why it appears to be out of sync from time to time is because smsg_update_object is put behind a 1200ms timer on retail. so the heartbeat time may have passed that time already when you start to see it. So it's not directly related to the heartbeat itself but more the visbility lag on respawn |
|
I did something comparable on my personal Fork in 2021 and from a players point of view, it worked quite well. But since Ovah implemented the basics for Heartbeat a while ago (not yet picked for 335), it should be attached to it. btw - #26528 |
|
Too much talk but no action. |
|
This branch has conflicts that must be resolved meh github. |
| time_t m_respawnTime; // (secs) time of next respawn | ||
| uint32 m_respawnDelay; // (secs) delay between corpse disappearance and respawning | ||
| uint32 m_corpseDelay; // (secs) delay between death and corpse disappearance | ||
| uint32 m_respawnAggroDelay; // (msecs)delay between respawn and aggro due to movement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing space and m was left over
|
This branch has conflicts that must be resolved |
|
Heartbeat ones aswell if I'm not wrong since they look related. |
Changes proposed:
Tests performed:
Active usage on our server since January 2023.