Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bots

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #1  
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
  #2  
Old 04-06-2016, 07:19 PM
AsmoTiC
Sarnak
 
Join Date: Aug 2004
Posts: 50
Default

wow, thanks for all the information!

The alias works great, will need to get used to them like I have with the full command, but they will certainly help until a load/save option comes available (if it's possible).

Went ahead and tested the HR. Using a 65 Ogre Warrior (6100hp 1400ac) running Defensive Disc against Derakor the Vindicator (Red con). HR was 5 Clerics, all 65. No restrictions on spells.

Heal Rotation Settings:
Current stat: active
Casting interval: 2 seconds
Fast Heals: off
Adaptive targeting: off
Casting override: off
Base hp limits - Crit: 10%, Safe: 95%
Cloth hp limits - Crit: 30%, Safe: 95%
Leather hp limits - Crit: 25%, Safe: 90%
Chain hp limits - Crit: 15%, Safe: 80%
Plate hp limits - Crit: 10%, Safe: 75%
Heal Rotataion Members:
(1) CLR1
(2) CLR2
(3) CLR3
(4) CLR4
(5) CLR5
Heal Rotataion Targets:
(1) WAR

This results in my death before the first CH lands. The first 4 CH's get started, but i'm dead before the 5th and final one starts (giving you a time frame from start to finish). Now if I have a boxed cleric put a Hot on me, and land a Fast heal on me, the rotation works great keeping me up for the remainder of the fight. This is why I was hoping for a proactive start to the rotation, so I wouldn't have to wait the full 10+ seconds before the first heal lands from the hr group.

Testing out your ^hrsafe and ^hrcrit, same values (95% locked as you said, and 50% adjusted), Made sure the percents were for both Base and Plate. Result was the same as above; first 4 CH's get started, but none land.

Did try one more thing. Added a Bot Shaman to the Warriors group, outside of the HR. This adjusted the stats a little (6640hp, 1425ac). With the spotheal from the Bot Shaman, it bought enough time for the rotation to start running cleanly.

Anyway, i'm happy to test a bunch of different scenarios for you, just let me know. Thanks again for taking a look at my earlier suggestion and for your detailed response.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:28 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3