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

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-19-2012, 01:05 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default Bot Stances

Rev 2107 implemented bot stances. They are used to control the type and frequency of spells and eventually skills by your bots. They mirror what merc have on live, except that bots have access to all stances (as opposed to a subset per class). This allows more flexibility, and was just easier to code.

Stances can be set using the following command: #bot stance [name] [stance (id)|list]. If you use list, it will tell you which stance the bot is currently using. The stance ids are: Passive = 0, Balanced = 1, Efficient = 2, Reactive = 3, Aggressive = 4, Burn = 5, BurnAE = 6.

Passive should cast no spells; efficient should try to conserve mana while performing essential class duties (slow, heal); balanced should be similar to how bots currently are; reactive is between balanced and aggressive, but will differentiate a little more when spell selection is effected; aggressive tends to be a little more offensive, not trying to conserve mana; burn is all out offense; burnAE will be the same but include AE spells.

All bots should default to balanced, but will retain any changes after zoning, reloading, etc. Bots will recalculate their spell casting chances if a group member is added or removed (in case their role changes ,etc), or if their stance changes.

I will continue to tweak this with feedback, and hope to work on some other things that will be incorporated into this system including AE spells and skills/disciplines.

ToDo:
AE spells
Different spells based on stance (complete heal versus regular heal)
Skills/disciplines
Reply With Quote
  #2  
Old 03-19-2012, 11:46 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I forgot. This update also allows bot casters to med during combat. Enjoy.
Reply With Quote
  #3  
Old 03-19-2012, 01:56 PM
louis1016
Hill Giant
 
Join Date: Dec 2009
Posts: 157
Default

Hey this is awesome but I think theres something wrong. When i first tried #bot stance like that by itself, the zone crashes. This happens most of the time (but didnt crash the zone every time).

Also with any stance, if I type #bot stance (name) (stance number) a message gets displayed saying the bot is going into the incorrect stance, but when i type #bot stance (name) list it displays the correct stance that i really assigned it.

I cant really tell if its actually changing to the stance that I assign it or not, however, as i just set my cleric bot to the passive stance, it said it was changed to the burn stance, but when engaged in battle the cleric was healing me like normal
Reply With Quote
  #4  
Old 03-19-2012, 02:08 PM
louis1016
Hill Giant
 
Join Date: Dec 2009
Posts: 157
Default

it looks like the stance that it incorrectly displays through the stance change message is the stance that the bot is actually going into, but not the stance that is listed in #bot stance (name) list
Reply With Quote
  #5  
Old 03-19-2012, 02:16 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

1- Seems I'm missing a check to make sure there's actually a name there. That should be easy to fix.

2- I will have to check out the list again. It was working for me, but I was mostly testing efficient vs. balanced.

3- may be related to 2. passive should have chance to cast of 0 for all spell types. While burn reduces healing chances, if the bot is the main healer (cleric! or shaman/ druid with no cleric) there's still a good chance to heal. They are just much more likely to nuke/dot.

Also, the stances currently only affect in combat casting. I may add in some idle casting checks, but for the most part it's most useful while engaged.
Reply With Quote
  #6  
Old 03-19-2012, 02:41 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

After looking at the code again, I can tell I didn't go over the #bot command part of the code very well after adding the list command and feedback when setting the stance. They were the last things I added. I'll fix this tonight. My apologies.
Reply With Quote
  #7  
Old 03-20-2012, 08:53 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

The command should be a little more robust. It shouldn't crash when just typing #bot stance.

As an aside. This led me to an interesting discovery that I will have to test. I was going with the assumption that the other bot commands would work as advertised, so I copied parts of the code from other commands. Unfortunately it doesn't appear that how they check for invalid data is incorrect. It was passing through my check for a bot name and then tried to match a bot with no name. Instead of returning null for the bot, it was returning a blank bot which is what was causing the crash. Looks like some more error checking within the bot code is in order.

Anyway, please leave feedback on the bot stances here so I can continue to improve the system.
Reply With Quote
  #8  
Old 04-02-2012, 09:55 AM
burdsjm3
Fire Beetle
 
Join Date: May 2011
Posts: 1
Default Melee

I was working on try to make my bots usable in events that require add control.

Rogues seem to disregard any stance and will immediately attack whatever you have targeted.

For events that spawn adds based upon hp%. It would be great if the passive and summon would allow a rogue to stop attacking the first target it acquired.

Passive on mercs on live makes the rogues not dps. Sorry if I misunderstood this.
Reply With Quote
  #9  
Old 04-02-2012, 10:56 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I will be adding this in. I hadn't found the best place to change melee stances, so it's mostly spellcasting currently. I'll post here when I get it in. Thanks for the feedback.
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 08:08 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3