Log in

View Full Version : Pet Taunt


provocating
01-15-2011, 01:22 AM
I noticed tonight I have quite a time grabbing aggro from my pet on my Magician. Then I noticed my pet's are not taunting. The pet taunt button does have the pet say "Taunting foes master" but since I do not see the pet taunts on the prompt I do not think the pet is. I tried the same thing on my necro and noticed they do not taunt. Is something wrong with my compile or is it a long time bug ?

joligario
01-15-2011, 02:01 AM
I think I remember reading somewhere that the pet taunt is permanently on in the server side code.

provocating
01-15-2011, 08:55 AM
I would think that you would see a random reply from the pet saying it is taunting then.

lerxst2112
01-15-2011, 09:33 AM
If I am reading the code correctly then pets default to taunting on, but it can be turned off.

There's no message for each taunt, but there is a message when you turn taunt on or off.

Try using #hatelist to see what's up. Keep in mind if the pet roots then the mob will attack the closest target, not the top of the hate list.

provocating
01-15-2011, 09:34 AM
Oh cool, did not know about #hatelist.

bad_captain
01-15-2011, 10:36 AM
I play as a Magician on my private server. My pets taunt consistently, and I do receive messages that they are taunting. I would check your chat filters unless there's something with your code that has broken taunt.

provocating
01-15-2011, 10:37 AM
What client are you running ?

provocating
01-15-2011, 10:59 AM
I tried with TIT, UF and SoF clients and none of them are reporting pet taunts. I do get a response if I click the pet taunt button "Now taunting foes" but you should get a taunt whenever the pet uses his taunt. I also checked filters, absolutely nothing is filtered on any of my clients. I am running a rather new build.

Chanus
01-15-2011, 11:45 AM
I had a problem with my bots and pets not being able to hold aggro, and I found a field in the database called something like Aggro:SmartAggroList that you can toggle. The options seem to end up being either they don't hold aggro seemingly at all or they don't hold aggro properly because you can stand right next to the mob and it will still prefer the pet or bot over you.

bad_captain
01-15-2011, 04:51 PM
Okay, I completely must have made that up. I swear I was receiving messages from my pet that it was taunting, but apparently not. I must have been thinking about my bots (I was looking at the bot taunt code yesterday). I looked back on some logs last night as well as from Feb last year and didn't see any pet taunting messages. lerxst2112 is correct that there's no message, as the code that does the taunt is here, and no message is made within Taunt();


//general stuff, for all classes....
//only gets used when their primary ability get used too
if (taunting && HasOwner() && target->IsNPC() && target->GetBodyType() != BT_Undead && taunt_time) {
Taunt(target->CastToNPC(), false);
}


They taunt by default:

Pet::Pet(NPCType *type_data, Mob *owner, PetType type, int16 spell_id)
: NPC(type_data, 0, owner->GetX()+2, owner->GetY()+2, owner->GetZ(), owner->GetHeading(), FlyMode3)
{
GiveNPCTypeData(type_data);
typeofpet = type;
SetOwnerID(owner->GetID());
SetPetSpellID(spell_id);
taunting = true;
}


Bot code I was thinking of, I think.. :confused:

Say("Taunting %s", target->GetCleanName());
Taunt(target->CastToNPC(), true);


I'm not sure what I have for the SmartAggro rule, but I haven't really had any problems with the pet keeping aggro, unless I nuke too early. If I wait until the mob is <90-95% before I nuke, then I don't have any issues. Or, if I get aggro, I can usually walk away and the pet grabs aggro from me (although sometimes I do have to run around screaming like a little girl when that doesn't work).

provocating
01-15-2011, 06:04 PM
Well hell it would not be that hard for me to add a line or two to send a message to the client, or am I wrong here ?

provocating
01-15-2011, 06:39 PM
Change the special_attacks.cpp to this, and boom, I have pet taunt reporting back. Can someone push this change to the SVN and check it first ? I need someone with 40 more points of IQ than me to do it.



//general stuff, for all classes....
//only gets used when their primary ability get used too
if (taunting && HasOwner() && target->IsNPC() && target->GetBodyType() != BT_Undead && taunt_time) {
Say("Taunting %s", target->GetCleanName());
Taunt(target->CastToNPC(), false);
}

joligario
01-15-2011, 09:43 PM
Isn't it "Taunting attacker, master."? I only remember the target on /pet attack.

provocating
01-15-2011, 10:08 PM
I have no idea.

bad_captain
01-15-2011, 11:50 PM
I spent some time trying to find it earlier, but couldn't find it. From eqstr_us..

438 Taunting attacker, Master.

But I'm not sure is that's just what is done when /pet taunt on or not..

provocating
01-15-2011, 11:51 PM
Yeah that sounds right.

joligario
01-16-2011, 09:52 AM
Yeah, thats the one.

provocating
04-05-2011, 10:36 AM
So how do I get this added into the svn ?

calloflunacy
08-09-2011, 08:12 AM
One issue I have found, is my pet is normally able to pull aggro off of me, but sometimes even though taunt is on, and I tell my pet to taunt several times, it won't. I send my pet to attack and let it fight for some time, and then I will cast a nuke, or run up and hit the mob once, and then back off, and it will completely ignore my pet for the rest of the encounter. If I pull a mob with a spell and tell pet to attack, it will completely ignore the pet. Now if I zone out and back in, and try the same tactic the pet will hold aggro, so I am not really sure what creates this issue, but resetting the zone seems to fix, just a pain when your in the bottom of a dungeon by yourself surrounded by mobs and all of a sudden the pet can't hold aggro.

sorvani
08-09-2011, 12:26 PM
I've seen posts about that over on the PEQ forums a few times. I do not now that anyone has ever looked into it, and it does seem to be quite random. But once a pet stops holding aggro all you can do is re-summon the pet, zone, or camp and come back.

provocating
01-21-2012, 10:28 AM
I tried to do a commit today, I guess I have never had the ability to do this. Can someone do this for me ?

special_attacks.cpp

//general stuff, for all classes....
//only gets used when their primary ability get used too
if (taunting && HasOwner() && target->IsNPC() && target->GetBodyType() != BT_Undead && taunt_time) {
Say("Taunting %s, Master.", target->GetCleanName());
Taunt(target->CastToNPC(), false);
}

Caryatis
01-21-2012, 01:18 PM
Why would you even think you could commit? lol

Try the server code submissions forum btw.

provocating
01-21-2012, 01:23 PM
Why would you even think you could commit? lol

Try the server code submissions forum btw.

Because I am a really nice guy that likes coffee and movies about serial killers :)