Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-27-2015, 09:50 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default Wierd bot problem (possibly)

So I added the ability to have bots be ogre druids. Which works great, But they seem to regen mana alot faster than the can spend it and he tripple and double hits stuff with his weapon. Like he has double attack. Any reason this might be?
Reply With Quote
  #2  
Old 09-27-2015, 10:21 PM
Trackye
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

I would guess its likely because when you created the CUSTOM code it wasnt done correctly or completely. Likely you copied information from another class that can do that (Double or triple.) or something to that effect.

Probably also because the Emulator and the BOT code wasnt written with Ogre Druids in mind...

Not very helpful but its likely the cause id think.
Reply With Quote
  #3  
Old 09-27-2015, 10:29 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Yes, I agree.

I'd either check the creation function to see what defaults are being applied, or the actual processing of those actions to see what is occurring.

Beyond that, it would take an in-depth c&e tree to trace why that is happening.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #4  
Old 09-28-2015, 12:10 AM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Yeah, probobly right.
Reply With Quote
  #5  
Old 09-28-2015, 12:25 AM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

This is the code for the bot.cpp

case 10: // Ogre
switch(GetClass()) {
case 1: // Warrior
case 5: // Shadowknight
case 6: // Druid
case 10: // Shaman
case 15: // Beastlord
case 16: // Berserker
Result = true;
break;
}

As you can see the only change to it was, case 6: // Druid
About 3 or 4 months ago this issue wasn't occuring. Iv'e had this change implemented for awhile now. Maybe it was working somehow before and something changed to cause it to go haywire. I'll hafto experiment with other bots to make sure its the only one effected by the issue. ofcourse the problem could be because they are bots and hate any kind of change whatsoever
Reply With Quote
  #6  
Old 09-28-2015, 01:27 PM
Trackye
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

I would look further into it in regards to the fact that the server must be pulling the data in uses for a DRUID OGRE from somewhere....

Also... How are you creating the character?
In the DB?
Using a GM command to change the class?

If its either of those you must be copying the values from something.

Example A
Created in Database.

Columns must be filled in from another character to some degree perhaps the character you are using to create the Ogre druid is a class that has those skills.

Suggestion for Example A.
Create a Wood elf druid.
Change nothing except the race.
See if the problem persists.

Example B.
You are creating a lets say Ogre beastlord and using a GM command or database change to make it a druid by changing the class. Well the beastlord already knows double attack and so on so perhaps that info is persisting through the change.
Reply With Quote
  #7  
Old 09-28-2015, 09:51 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

nope I just added it as a class combination that is usable. So all im doing is using the #bot create command to make the ogre from scratch no copying what so ever.

Update: I just looked through a good portion of the bot code. When it creates a bot it pulls the basic info like if bot is human stats = x and if bot is wizard apply points to certain stats.
I see alot of code for double attack. But im not finding where it would point the bot to have specific skills based on class.
Reply With Quote
  #8  
Old 10-01-2015, 02:52 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

How would I go about looking up the create function?
Reply With Quote
  #9  
Old 10-01-2015, 02:58 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

So I made a halfelf druid bot and he is double attacking stuff aswell. Somethings messed up somewhere lol.
Reply With Quote
  #10  
Old 10-01-2015, 03:33 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Let's see...

Create command: https://github.com/EQEmu/Server/blob.../bot.cpp#L8922

Bot::IsValidRaceClassCombo() https://github.com/EQEmu/Server/blob.../bot.cpp#L1305

At this point, it's strictly a validation of what is allowed.


Attack function: https://github.com/EQEmu/Server/blob.../bot.cpp#L4681


This looks like where 'normal' bot attacks are handled: https://github.com/EQEmu/Server/blob.../bot.cpp#L2575
(Note the exclusion of caster bots bots over level 12.)

I don't see any message code inside of that check..you might consider adding a few and turning on the logs for that channel to output to gmsay..might help track it down.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #11  
Old 10-01-2015, 03:36 PM
Cilraaz
Sarnak
 
Join Date: Mar 2010
Posts: 77
Default

The AI_Process logic in bot.cpp calls CanThisClassDoubleAttack, which is a function in mob.cpp. For non-clients, that returns:

Code:
return(GetSkill(SkillDoubleAttack) > 0);
I'm not sure if '#bot showstats' shows skill values or not. That might be something to check.
Reply With Quote
  #12  
Old 10-01-2015, 03:56 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

There was an AA change recently too..I don't know if bots use the 'standard' system or have their own special one - like so many other systems...
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #13  
Old 10-01-2015, 04:01 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

it's always the bots I swear to god. We should all just pool 1$ a piece and hire the guy that was working on the bots before to just sift through all the 33,000 lines of code to fix them =P
Reply With Quote
  #14  
Old 10-01-2015, 04:07 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Ok, that's $2 :P
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #15  
Old 10-02-2015, 04:49 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Is anybody able to create a druid bot give him a weapon and see how he regens mana and if he double or tripple hits. I would greatly appreciate it I feel like im going insane. Im just hoping im not the only one with the issue
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 05:31 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