Skip to content
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

Race condition between heart reset after a Cyclops’ last heart and the kill / combat bond #8

Open
alterNERDtive opened this issue Oct 14, 2021 · 3 comments

Comments

@alterNERDtive
Copy link
Contributor

So, we are testing for heart reset instead of destruction because we cannot distinguish the latter from a heart that has un-exerted after the timer ran out.

The heart reset has a delay of 10s after the heart was destroyed. On the last Cyclops heart, the Goid might die before the heart can reset. So we’re missing a split and the timer keeps running.

One possible fix would be to see if the heart counter is 3 before splitting on a bond, and to set a state that causes a split again on the next update. That way we would only have a difference of roughly 1/60s between the actual kill and the recorded time.

@Astyrrean
Copy link
Collaborator

The counter, however, depends on goid_type and that's not a condition that's tested for in the ASL.
Note that I believe it IS possible to determine goid type from the netlog file (when the NPC is instanced, the module list is printed, and you can counter the number of hearts there ... it's hard but possible.)

@alterNERDtive
Copy link
Contributor Author

Well unless you run into this on Basilisks, too, not knowing Goid type isn’t an issue.

@Astyrrean
Copy link
Collaborator

Astyrrean commented Oct 14, 2021

Shards and (I think) 4m premium would result in same issue on Basilisk too I'm afraid

PS
"Lightning execution" may result in this issue happening on Dusa too and, in extremely rare conditions, Hydra too potentially

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants