Thread: Bot Commands
View Single Post
  #66  
Old 04-06-2016, 03:24 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I'm still mulling over how to load/save heal rotations..it wasn't something that I intentionally left out.

For the interim, try these:
^bgload <cleric group>
^hrcreate <leader>
^hraddmr <member> (x4 times)
^hraddt <tank>
^hrinterval <time>
^hrstart <leader> (just to make sure it's running).

You can use ^alias command to see if any aliases are available for that particular command..or look to see what aliases are registered for a command in the `aliases`
field of the `bot_command_settings` table in the database.


I'm pretty sure that the heal rotation turns active as soon as you add a member - the first member being the bot who created the hr:
https://github.com/EQEmu/Server/blob...tation.cpp#L92
https://github.com/EQEmu/Server/blob...ation.cpp#L507
https://github.com/EQEmu/Server/blob...ation.cpp#L526

The current state can be verified by using the ^hrlist command.

You can stop the hr..but, it will start again if you add/remove a healer member while it is inactive.
(If this is too 'streamlined' .. I can modify that behavior.)


The way the system checks for a 'valid' heal target is to sort the target list by a series of criteria.

Each set of checks will either set 'm_active_heal_target' to true or false. A final 'false' will only be applied if no criteria are met.

That target state (and target, if state is 'true') will remain active for 250ms. So, even with a 1-second interval on the hr, the target will be checked,
and possibly updated, 3-4 times.


If you don't mind experimenting, you could try something like this on your hr:
^hrinterval 2 (or 1)
^hrsafe 0 100 EDIT: The maximum allowed value is hard-coded to '95.0'
^hrcrit 0 50 (or higher)

For non-adaptive healing, the types are prioritized as follows: main tanks, healers, everyone


With the new system, heal rotations are definitely reactive as opposed to proactive.

There are a lot of options to experiment with.

I'll consider implementing a proactive option, though, I'd like to hear how changing those options perform.


My only problem with testing is that I can only test the functionality of the code..not the real-world application of it..so, feedback is the key to
improvements
__________________
Uleat of Bertoxxulous

Compilin' Dirty

Last edited by Uleat; 04-06-2016 at 03:37 PM..
Reply With Quote