Fix for bots not holding taunt if you get too close.
I found a fix for tanking bots not holding aggro when you get too close to the mob, with the fix you can leave smartaggro on and still let your tanks hold aggro if you get too close
here's the code... In hate_list.cpp find Code:
if(cur->ent->IsClient()){ Code:
if(cur->ent->IsClient() || cur->ent->IsBot()){ I haven't tested it myself but if you want your pets to be able to tank for you like this too, you should be able to replace the line above with Code:
if(cur->ent->IsClient() || cur->ent->IsBot() || cur->ent->IsPet()){ |
that is nice, but i think that over does it. now no matter what you do for damage you cant steal agro. i put this in for my pet, as i am a mage, but no matter what i cant take agro from pet. Seems there has to be a way to actually determine taunt amount? as that seems to have no effect at all. in fact taunt for pets just might be not right, as when i hit pet taunt it keeps saying taunting foe, master. it should say " no longer taunting target" when you hit taunt again.
|
thats strange... I can still steal taunt from my bots... I still havent tested with pets but bots seem to be working as far as I can tell... I will look into pet classes in a little bit and see if it does the same thing for me
|
Any word on this? We're going through a similar dilemma now on our server, and wonder if there's been a confirmed fix.
|
Quote:
|
Does this need to be put in the code submissions forum to get put in the next release?
|
I dont think this is an elegant enough solution to be put into the main source. I haven't tested it but it seems to not be the best way to accomplish it.
|
I'm not sure what better a solution there is. As I understand, it's just treating bots and pets the same way clients are for hate. I haven't tested it, though.
|
Well, the pet part shouldn't be put into it I don't think. Pretty sure pets didn't keep aggro in live.
|
Quote:
|
I'm playing around with this a little. I started up a monk that I can't really play because mobs attack me instead of my warrior bot.
I replaced the code mentioned first, which is comething like Code:
if(cur->ent->IsClient()) { Code:
if(!cur->ent->IsPet()) { Code:
if(!cur->ent->IsPet() && !cur->ent->IsNPC()) { But, in the little bit of testing I did last night.. I went in to attack, and the mob attacked me back. My bots attacked right after me, but the mob continued to attack me until the warrior had a successful taunt, and then he kept the aggro until the mob was dead. This seems to be the behavior I would expect, and I will continue to test this out so maybe it can make it in. I will at least be running it on my private server. |
You could just #ifdef the bot part, although it makes the code kinda fugly.
Code:
if(cur->ent->IsClient() Code:
|
All times are GMT -4. The time now is 09:05 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.