From 2690d8fed8a054b801e530f698c4262795900f78 Mon Sep 17 00:00:00 2001 From: Uleat Date: Fri, 3 Mar 2017 17:51:02 -0500 Subject: [PATCH] Added inspect buff cases for bots (ZombieSoul) --- zone/client_packet.cpp | 22 ++++++++++++++++++---- zone/spell_effects.cpp | 8 ++++++-- zone/spells.cpp | 8 ++++++-- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 5411dbf7a..d7d8bdd0e 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -3895,10 +3895,19 @@ void Client::Handle_OP_BuffRemoveRequest(const EQApplicationPacket *app) Mob *m = nullptr; - if (brrs->EntityID == GetID()) + if (brrs->EntityID == GetID()) { m = this; - else if (brrs->EntityID == GetPetID()) + } + else if (brrs->EntityID == GetPetID()) { m = GetPet(); + } +#ifdef BOTS + else { + Mob* bot_test = entity_list.GetMob(brrs->EntityID); + if (bot_test && bot_test->IsBot() && bot_test->GetOwner() == this) + m = bot_test; + } +#endif if (!m) return; @@ -13042,9 +13051,14 @@ void Client::Handle_OP_TargetCommand(const EQApplicationPacket *app) } } if (GetGM() || RuleB(Spells, AlwaysSendTargetsBuffs) || nt == this || inspect_buffs || (nt->IsClient() && !nt->CastToClient()->GetPVP()) || - (nt->IsPet() && nt->GetOwner() && nt->GetOwner()->IsClient() && !nt->GetOwner()->CastToClient()->GetPVP()) || - (nt->IsMerc() && nt->GetOwner() && nt->GetOwner()->IsClient() && !nt->GetOwner()->CastToClient()->GetPVP())) + (nt->IsPet() && nt->GetOwner() && nt->GetOwner()->IsClient() && !nt->GetOwner()->CastToClient()->GetPVP()) || +#ifdef BOTS + (nt->IsBot() && nt->GetOwner() && nt->GetOwner()->IsClient() && !nt->GetOwner()->CastToClient()->GetPVP()) || // TODO: bot pets +#endif + (nt->IsMerc() && nt->GetOwner() && nt->GetOwner()->IsClient() && !nt->GetOwner()->CastToClient()->GetPVP())) + { nt->SendBuffsToClient(this); + } } else { diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index a2841ee8e..132e6bcdb 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -4155,8 +4155,12 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses) if(IsPet() && GetOwner() && GetOwner()->IsClient()) { SendPetBuffsToClient(); } - if((IsClient() && !CastToClient()->GetPVP()) || (IsPet() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || - (IsMerc() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP())) + if((IsClient() && !CastToClient()->GetPVP()) || + (IsPet() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || +#ifdef BOTS + (IsBot() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || +#endif + (IsMerc() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP())) { EQApplicationPacket *outapp = MakeBuffsPacket(); diff --git a/zone/spells.cpp b/zone/spells.cpp index f37f2fc53..0961b3404 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -3290,8 +3290,12 @@ int Mob::AddBuff(Mob *caster, uint16 spell_id, int duration, int32 level_overrid if (IsPet() && GetOwner() && GetOwner()->IsClient()) SendPetBuffsToClient(); - if((IsClient() && !CastToClient()->GetPVP()) || (IsPet() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || - (IsMerc() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP())) + if((IsClient() && !CastToClient()->GetPVP()) || + (IsPet() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || +#ifdef BOTS + (IsBot() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP()) || +#endif + (IsMerc() && GetOwner() && GetOwner()->IsClient() && !GetOwner()->CastToClient()->GetPVP())) { EQApplicationPacket *outapp = MakeBuffsPacket();