DarkstarProject / darkstar

DEPRECATED - FFXI Server Emulator - See Project Topaz
https://github.com/project-topaz/topaz
GNU General Public License v3.0
455 stars 549 forks source link

Healing "status" generates too much enmity #2918

Open Hozu opened 8 years ago

Hozu commented 8 years ago

I have:

Client Version (type /ver in game) : 30160203_0

Server Version (type @revision in game) : https://github.com/DarkstarProject/darkstar/commit/ff4a4e41d45fb7ed60035ecdb51c3f6028f2a339

Source Branch (master/stable) : master

Additional Information (Steps to reproduce/Expected behavior) : https://github.com/DarkstarProject/darkstar/blob/master/scripts/globals/effects/healing.lua#L38

That was added due to an issue where resting next to a mob wasn't causing it to aggro, which was to break supertanking. It should be adding the player to the mob's hate list with 1 CE if they're not already on the list. Right now any mages resting next to a HNM would generate hate based on the HP they would have recovered, even if they're at full hp.

Deadwing888 commented 8 years ago

The /heal command should put the mage on the mob's active hate list and generate 60 ve/sec 10 ve/sec if they are within 12 yalms.

Hozu commented 8 years ago

60 VE/second? Where did that come from? Sounds strange because VE decays that fast... wouldn't that make resting with enmity+ gear make you gain VE over time?

Deadwing888 commented 8 years ago

Comes from retail.

Don't know if it was affected by enmity gear or not but I'd /heal in fire resist set at tiamat to keep capped hate till stoneskin broke. Years later there was a thread where SE came out said it was 60ve/sec for anyone in half of spell-casting range or something. I'm a little fuzzy on the details.

teschnei commented 8 years ago

citation needed

Deadwing888 commented 8 years ago

I found the enmity post that I was thinking back to talking about the half spellcasting range distance thing.

http://forum.square-enix.com/ffxi/threads/30629-Enmity-System-Explanation-and-Planned-Adjustments?p=402769&viewfull=1#post402769

Will try to get into retail with a buddy of mine and run some current tests on /heal enmity, as they do not specify in that post.

Deadwing888 commented 8 years ago

Control test: friend with 2CE has a mob. I use provoke wearing no enmity gear. Expected result: mob will turn back to friend after 30 seconds Actual result: mob turned back to friend after 30 seconds

Resting enmity test: friend with 2CE has mob. I use provoke and immediately heal with no enmity gear. Expected result: mob will turn back to friend after a longer duration Actual result: mob turned back to friend after 36 seconds Conclusion: 36 seconds of healing generates 360 volatile enmity (or roughly 10 per second)

Resting enmity test 2 (testing enmity equips): I use provoke with no enmity gear and then put 17 enmity in gear on. Expected result: Mob will turn back to friend after 36 sec if enmity gear not relevant, if enmity gear is relevant 37 seconds if it is. Actual result: mob turned back to friend after 36 seconds, enmity gear appears to not factor.

Question: Does it resting put you on active hate list on retail? Answer: this is a well documented yes, but currently not functioning correctly last I checked.

Question: Does resting build CE over time? Answer: Probably not it is possible to /heal all day and you wont take the mob back

Question: How often does it calculate the 10/sec avg VE Answer: Unknown, but my best guess is once per second. It did not appear to me to be tick based, nor did recovering actual hp or mp or not seem to affect the test.

It would appear my initial recollection of 60ve/sec was flat wrong. The forum provided stating that there is no hate gain until within half of spellcasting distance (my 12' comment) likely still applies.