Change Older clients to not use persistant taunt button & default to taunt on.

This commit is contained in:
Noudess 2020-09-02 14:50:51 -04:00
parent 56afa0404b
commit 96fb156c47
2 changed files with 18 additions and 4 deletions

View File

@ -1632,9 +1632,12 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
pet->CalcBonuses();
pet->SetHP(m_petinfo.HP);
pet->SetMana(m_petinfo.Mana);
// 1st login, client takes care of this from button status
if (!firstlogon) {
pet->SetTaunting(m_petinfo.taunting);
// Taunt persists when zoning on newer clients, overwrite default.
if (m_ClientVersionBit & EQ::versions::maskUFAndLater) {
if (!firstlogon) {
pet->SetTaunting(m_petinfo.taunting);
}
}
}
m_petinfo.SpellID = 0;

View File

@ -433,7 +433,18 @@ Pet::Pet(NPCType *type_data, Mob *owner, PetType type, uint16 spell_id, int16 po
petpower = power;
SetOwnerID(owner->GetID());
SetPetSpellID(spell_id);
taunting = false;
bool non_persistant_pet_states_client = false;
// Deault to on in older clients, off in new clients that control state.
if (owner && owner->IsClient()) {
if (!(owner->CastToClient()->ClientVersionBit() & EQ::versions::maskUFAndLater)) {
LogError("Titanium");
non_persistant_pet_states_client = true;
}
taunting = non_persistant_pet_states_client;
}
// Class should use npc constructor to set light properties
}