[cpp] Implement tiered aggro ranges for low HP detection
I affirm:
- [x] I understand that if I do not agree to the following points by completing the checkboxes my PR will be ignored.
- [x] I understand I should leave resolving conversations to the LandSandBoat team so that reviewers won't miss what was said.
- [x] I have read and understood the Contributing Guide and the Code of Conduct.
- [x] I have tested my code and the things my code has changed since the last commit in the PR and will test after any later commits.
What does this pull request do?
Updates the low HP detection behavior by introducing variable aggression range based on target HP percentage :
- Yellow HP (<75%) triggers aggro within 8 yalms
- Orange HP (<50%) triggers aggro within 18 yalms
- Red HP (<25%) triggers aggro within 20 yalms
Source: https://www.bg-wiki.com/ffxi/Aggressive#Bleeding (verified on retail).
Steps to test these changes
Find a mob with low HP detection. Reduce your HP and adjust your distance from the mob to trigger (or not) aggro.
https://youtu.be/qsnjdI5Rbw0 - Shows that ghosts at <75% <50% <25% all aggro at 10' and Cointeach aggro for all 3 at 20'
In the future please upload and link your retail captures so it can be verified, simply saying "verified on retail" is not enough.
As for the goal of this PR I believe that much more research and retail captures will need to be done to verify how the mechanic actually works and implemented properly (weather, family, other factors, etc)
Since its related, I'll post this here for posterity.
https://docs.google.com/spreadsheets/d/1Hdvt4dyGJW5ih296VnAhqOzbVqYX_A8lGnW27megCZo/edit?gid=0#gid=0
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.