From 5566ea4d857df5929ff11a93e85d8dcf097f0ab7 Mon Sep 17 00:00:00 2001 From: neckkola <65987027+neckkola@users.noreply.github.com> Date: Mon, 31 Jan 2022 17:35:37 -0400 Subject: [PATCH] added Raid::IsRaidMemberBot() --- zone/raids.cpp | 20 +++++++++++++++----- zone/raids.h | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/zone/raids.cpp b/zone/raids.cpp index 23f0b2740..116f55b65 100644 --- a/zone/raids.cpp +++ b/zone/raids.cpp @@ -1531,6 +1531,16 @@ void Raid::SendAllRaidLeadershipAA() SendGroupLeadershipAA(members[i].member, members[i].GroupNumber); } +bool Raid::IsRaidMemberBot(Client* client) +{ + if (client->CastToBot()->GetBotID() == 0) { + return false; + } + else + { + return true; + } +} void Raid::LockRaid(bool lockFlag) { std::string query = StringFormat("UPDATE raid_details SET locked = %d WHERE raidid = %lu", @@ -1708,7 +1718,7 @@ void Raid::SendHPManaEndPacketsTo(Client *client) EQApplicationPacket outapp(OP_MobManaUpdate, sizeof(MobManaUpdate_Struct)); for(int x = 0; x < MAX_RAID_MEMBERS; x++) { - if(members[x].member) { + if(members[x].member && !IsRaidMemberBot(members[x].member)) { if((members[x].member != client) && (members[x].GroupNumber == group_id)) { members[x].member->CreateHPPacket(&hp_packet); @@ -1750,10 +1760,10 @@ void Raid::SendHPManaEndPacketsFrom(Mob *mob) mob->CreateHPPacket(&hpapp); for(int x = 0; x < MAX_RAID_MEMBERS; x++) { - if(members[x].member && members[x].member->CastToBot()->GetBotID() == 0 ) { + if(members[x].member && !IsRaidMemberBot(members[x].member)) { if(!mob->IsClient() || ((members[x].member != mob->CastToClient()) && (members[x].GroupNumber == group_id))) { members[x].member->QueuePacket(&hpapp, false); - if (members[x].member->IsClient() && members[x].member->ClientVersion() >= EQ::versions::ClientVersion::SoD) { //Mitch + if (members[x].member->ClientVersion() >= EQ::versions::ClientVersion::SoD) { outapp.SetOpcode(OP_MobManaUpdate); MobManaUpdate_Struct *mana_update = (MobManaUpdate_Struct *)outapp.pBuffer; mana_update->spawn_id = mob->GetID(); @@ -1783,7 +1793,7 @@ void Raid::SendManaPacketFrom(Mob *mob) EQApplicationPacket outapp(OP_MobManaUpdate, sizeof(MobManaUpdate_Struct)); for (int x = 0; x < MAX_RAID_MEMBERS; x++) { - if (members[x].member) { + if (members[x].member && !IsRaidMemberBot(members[x].member)) { if (!mob->IsClient() || ((members[x].member != mob->CastToClient()) && (members[x].GroupNumber == group_id))) { if (members[x].member->ClientVersion() >= EQ::versions::ClientVersion::SoD) { outapp.SetOpcode(OP_MobManaUpdate); @@ -1810,7 +1820,7 @@ void Raid::SendEndurancePacketFrom(Mob *mob) EQApplicationPacket outapp(OP_MobManaUpdate, sizeof(MobManaUpdate_Struct)); for (int x = 0; x < MAX_RAID_MEMBERS; x++) { - if (members[x].member && members[x].member->CastToBot()->GetBotID() == 0) { + if (members[x].member && !IsRaidMemberBot(members[x].member)) { if (!mob->IsClient() || ((members[x].member != mob->CastToClient()) && (members[x].GroupNumber == group_id))) { if (members[x].member->ClientVersion() >= EQ::versions::ClientVersion::SoD) { outapp.SetOpcode(OP_MobEnduranceUpdate); diff --git a/zone/raids.h b/zone/raids.h index 5bce90df9..156f3f548 100644 --- a/zone/raids.h +++ b/zone/raids.h @@ -125,6 +125,7 @@ public: void AddBot(Bot* b, uint32 group = 0xFFFFFFFF, bool rleader=false, bool groupleader=false, bool looter=false); //Mitch void RaidBotGroupSay(Bot* b, uint8 language, uint8 lang_skill, const char* msg, ...); //Mitch static Mob* GetRaidMainAssistOneByName(const char* name); + bool IsRaidMemberBot(Client* client); #endif void RemoveMember(const char *c); void DisbandRaid();