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

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-07-2012, 11:16 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default #bot healrotations

I have added a new command, #bot healrotations. This can be used to set up healrotations for raid targets, and has quite a few things you can do to tweak how it works to better suit your needs.

You can create a heal rotation, add members, remove members, add and remove targets to heal, set the timer, specify whether you want to use fast heals or not, and then start, stop, and list details about the heal rotation using the following commands:

Code:
#bot healrotation help - will show this help.
#bot healrotation create <bot healrotation leader name> <timer> <fasthealson | fasthealsoff> [target]. This will create a heal rotation with the designated leader.
#bot healrotation addmember <bot healrotation leader name> <bot healrotation member name to add> 
#bot healrotation removemember <bot healrotation leader name> <bot healrotation member name to remove>
#bot healrotation addtarget <bot healrotation leader name> [bot healrotation target name to add] 
#bot healrotation removetarget <bot healrotation leader name> <bot healrotation target name to remove>
#bot healrotation cleartargets <bot healrotation leader name>
#bot healrotation fastheals <bot healrotation leader name> <on | off>
#bot healrotation start <bot healrotation leader name | all>
#bot healrotation stop <bot healrotation leader name | all>
#bot healrotation list <bot healrotation leader name | all>
Rotation Members must be bots.
Rotation Targets can be bots, clients, pets.
Rotation Leaders who die transfer leadership to next in line, so to issue more commands, you would need to use the new leader's name in the command (this is why I added start / stop / list all).
Rotation Targets are targeted in order based on group tank role, then order in the list (if they are in the zone and not dead, etc)
Members must be added by name, targets can be added by name or if targeted (pets were an issue to add by name).

How I use them:
create healrotation, setting leader, timer (seconds between heals), and whether to use fast heals or not (not means it will use complete/percentage heals).
add members
add targets
start
stop

I have a couple of hotkeys set up, one to create and add all 4 members, and another to start the rotation. I may make another to change some parameters so that the heal rotation will use fast heals (non complete heals) on say a 2 second timer, and then switch to fasthealsoff with a timer of 4 when the raid mob I'm facing has been slowed, etc.

I tried to make it as robust as I could, meaning, if a rotation member died or is camped, the others will bypass that member and go to the next one, effectively eliminating them from the rotation. Targets may die or zone, and will not be targeted until they are revived or rezone (and are within casting distance).

Group Role of tank also factors in, as the rotation members will focus on group tanks, so the following can occur: Main rotation target is group tank in group 1. 2nd target is group tank for group 2. Target 1 dies, and members starting healing target 2. Target 1 is rez'ed (or respawned), but doesn't automatically become the main target again, as they are most likely not ready for it. The members continue to heal target 2 until target 1 is re-added as group tank.

Please let me know if you have any issues with this command, or if there is any changed you would like to see made. I'll see what I can do.
Reply With Quote
  #2  
Old 09-09-2012, 11:34 PM
Furniture
Hill Giant
 
Join Date: Aug 2012
Posts: 205
Default

Havent tried this out yet, but this is fucking great, thanks a lot
Reply With Quote
  #3  
Old 09-09-2012, 11:38 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

One thing I forgot to mention.

If a bot is in a heal rotation, they will continue to function as before, healing, buffing, etc. until the heal rotation is started. Once it is started, they will only heal when they are supposed to, and will do nothing else, whether they are in combat or not. I figure this is what people would think would happen, but just wanted to make sure everyone knew.
Reply With Quote
  #4  
Old 09-10-2012, 12:27 AM
rhyotte
Hill Giant
 
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
Default

@BC,

Yes...that *IS* what a heal rot is all about, keeping exactly 1 target for sure alive. One thing to consider is what if the MT dies... can the bots rapidly switch to the ...hopefully new MT? That was one of the things us clerics had to contend with.

I assume EMU's CH spell is the Older Version of it rather than the newer one? Sorry I have not looked in a long long time.. I retired my old LIVE cleric when I realized they had put me on the same "Gear Tread Mill" as the warriors were on.

Have a good one
Gary
P.S. Oh, and what about the Interval of heals? Is that auto configured? 2 sec rot, 4 sec rot..etc..

Last edited by rhyotte; 09-10-2012 at 12:28 AM.. Reason: Clarify
Reply With Quote
  #5  
Old 09-10-2012, 07:52 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

It's set up to store 3 targets by default. If the target dies, it will automatically go to the next target.

You set the timer when you create the healrotation. A 2 for timer would be a 2 second rotation (if you have 6 clerics casting CHeal). I go with 4 clerics, so I use 3 or 4. You just have to make sure your spacing is enough for all of the recast, etc, or they will skip themselves ( same as if they don't have enough mana).
Reply With Quote
  #6  
Old 09-10-2012, 10:50 PM
Burningsoul
Banned
 
Join Date: Oct 2009
Posts: 312
Default

Bloody frigging brilliant work Captain, compiling and getting ready to squee with enjoyment.
Reply With Quote
  #7  
Old 09-11-2012, 01:25 AM
rhyotte
Hill Giant
 
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
Default

@BC,

Were you a cleric main at some point? Nice!

Gary
P.S. Bots do auto recast upon fizzle right? For those who create a CH chain.. The number of clerics X the number of seconds in the rot has to = or exceed the 10 seconds of a CH. My advice is to give fudge factor for fizzles when you do a ch rot setup. Example given: (4) cleric x 3 second CH Rotation = 12 seconds total. you really do not want to cut it much thinner than this in a real rotation to allow for those fizzles / spells interupts within the 4 cleric chain. I used to be a hardcore raid cleric.. back in the days of the CH Rot..

Last edited by rhyotte; 09-11-2012 at 01:32 AM.. Reason: Clarify
Reply With Quote
  #8  
Old 09-11-2012, 02:59 AM
sorvani
Dragon
 
Join Date: May 2010
Posts: 965
Default

can it handle decimals? mq2 ch rots typically run in deciseconds. accounting for recast delay a 5 cleric rot is something like 2.1 or 2.2 seconds
Reply With Quote
  #9  
Old 09-11-2012, 11:27 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Quote:
Originally Posted by sorvani View Post
can it handle decimals? mq2 ch rots typically run in deciseconds. accounting for recast delay a 5 cleric rot is something like 2.1 or 2.2 seconds
I know I had planned to, but it appears I didn't allow non-int times. It should be an easy fix.
Reply With Quote
  #10  
Old 09-11-2012, 11:44 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Quote:
Originally Posted by rhyotte View Post
@BC,

Were you a cleric main at some point? Nice!

Gary
P.S. Bots do auto recast upon fizzle right? For those who create a CH chain.. The number of clerics X the number of seconds in the rot has to = or exceed the 10 seconds of a CH. My advice is to give fudge factor for fizzles when you do a ch rot setup. Example given: (4) cleric x 3 second CH Rotation = 12 seconds total. you really do not want to cut it much thinner than this in a real rotation to allow for those fizzles / spells interupts within the 4 cleric chain. I used to be a hardcore raid cleric.. back in the days of the CH Rot..
I'm not aware of a way to check if a spell cast has fizzled or not from the current spell casting code. It's kind of a set it and forget it. Should it also consider interrupts? How do you manage the next one in line if a recast is necessary? It would have to depend how far into the cast the bot was. This is probably doable, but would take some work.

And, no I was not a cleric; my cleric only made it to 50. My main was a mage whose top raiding experience was a complete wipe on Grieg Veneficus somewhere around GoD release. Not exactly stellar. Just trying to progress into Time / GoD on my private server. I'm tired of running through all my tanks hoping I can kill fast enough to not wipe. Hasn't happened yet on Aten Ha Ra. I hope to try that out soon.
Reply With Quote
  #11  
Old 09-11-2012, 01:36 PM
sorvani
Dragon
 
Join Date: May 2010
Posts: 965
Default

for fizzle/recast, just ignore it. and the next bot will fire at the time scheduled. just like old school manual rots on live, the timer always stays fixed no matter what happened to the cleric casting ch. only thing to change was a drop from rot for OOM or death.

granted manual players could always recast on fizzle so their ch would land late, but at least land. the problem with that on a tight rot is that each subsequent cast will also then be late.

if the rot timer has room to spare, that is no problem but on a 5 cleric 2.1sec rot there is no wiggle room
Reply With Quote
  #12  
Old 09-11-2012, 02:47 PM
rhyotte
Hill Giant
 
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
Default

Yeah a 10.5 second rotation would be pretty extreme. For some raids I would wait about 1/10th of a second or so then do /recast on other raids I would do this twice. Thing is... with that extra 1/10th second in there if the spell is already casting you get the "cannot complete command" message. Admittedly if you require a rotation that is nearly dead on tight, this will not work. Always a tradeoff.

Gary
Reply With Quote
  #13  
Old 11-20-2012, 12:05 AM
Trackye
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Disregard this.. I fixed my own issue:P
Reply With Quote
  #14  
Old 03-01-2013, 03:12 PM
Garudan
Sarnak
 
Join Date: Jun 2005
Posts: 38
Default

the concept is realy cool, i am currently trying to implement; quick question here: does the healerbots need to be in my group?
I am trying to put all the healerbots into a "#bot botgroup" but it seems, that they dont join the roation if they are "outsourced"
Reply With Quote
  #15  
Old 03-01-2013, 03:34 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

They should. They do need to be grouped, but shouldn't need to be in your group. I made a group of just clerics to use as my heal rotation group, but I haven't had much time to actually use them since I set them up.

I'll try to check mine out this weekend to make sure they work as intended if you are still unable to get them to work.
Reply With Quote
Reply


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 04:10 AM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3