From ff6de1938bdffd87068cd7532c72f83d326d3aea Mon Sep 17 00:00:00 2001 From: Noudess Date: Thu, 3 Sep 2020 15:38:35 -0400 Subject: [PATCH] Change older clients to default to taunting=true only for taunt eligble pets. --- zone/pets.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/zone/pets.cpp b/zone/pets.cpp index d16334645..734be3ef4 100644 --- a/zone/pets.cpp +++ b/zone/pets.cpp @@ -434,15 +434,19 @@ Pet::Pet(NPCType *type_data, Mob *owner, PetType type, uint16 spell_id, int16 po SetOwnerID(owner->GetID()); SetPetSpellID(spell_id); - bool non_persistant_pet_states_client = false; + // All pets start at false on newer clients. The client + // turns it on and tracks the state. + taunting=false; - // Deault to on in older clients, off in new clients that control state. + // Older clients didn't track state, and default taunting is on (per @mackal) + // Familiar and animation pets don't get taunt until an AA. if (owner && owner->IsClient()) { if (!(owner->CastToClient()->ClientVersionBit() & EQ::versions::maskUFAndLater)) { - non_persistant_pet_states_client = true; + if ((typeofpet != petFamiliar && typeofpet != petAnimation) || + GetAA(aaAnimationEmpathy) >= 3) { + taunting=true; + } } - - taunting = non_persistant_pet_states_client; } // Class should use npc constructor to set light properties