Skip to content

Conversation

@kaytotes
Copy link
Contributor

Changes proposed:

  • Adds a 5 second grace period between when a creature spawns and when it can aggro on move in los.

Tests performed:

Active usage on our server since January 2023.

@Nyr97
Copy link
Contributor

Nyr97 commented Sep 28, 2024

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.

@Shauren
Copy link
Member

Shauren commented Sep 28, 2024

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.

Except that heartbeat is per-object, its not a global timer to have "whatever is left before tick"

@Nyr97
Copy link
Contributor

Nyr97 commented Sep 28, 2024

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.

@kaytotes
Copy link
Contributor Author

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.

I'll let someone else confirm this. I have no packet sniffs.

@Ovahlord
Copy link
Contributor

Ovahlord commented Oct 5, 2024

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

@Jinnaix
Copy link
Contributor

Jinnaix commented Oct 7, 2024

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

@CraftedRO
Copy link
Contributor

Too much talk but no action.

@Aokromes
Copy link
Member

This branch has conflicts that must be resolved
to resolve conflicts before continuing.

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
Copy link
Contributor

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

Ovahlord pushed a commit that referenced this pull request Dec 29, 2024
@Aokromes
Copy link
Member

Aokromes commented Mar 2, 2025

This branch has conflicts that must be resolved

@CraftedRO
Copy link
Contributor

26d1337 "supercedes #30273" so someone need to cherry that one I guess.

@CraftedRO
Copy link
Contributor

Heartbeat ones aswell if I'm not wrong since they look related.

@Project-Epoch Project-Epoch closed this by deleting the head repository Sep 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants