From d85646b637e88432d8b7c602852cb713cea565a5 Mon Sep 17 00:00:00 2001 From: neckkola <65987027+neckkola@users.noreply.github.com> Date: Wed, 5 Jan 2022 17:33:52 -0400 Subject: [PATCH] Basement Jan 5 --- .gitignore | 1 + zone/raids.cpp | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1db525804..4f64e32a6 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ bin/ /Win32 /x64 /client_files/**/CMakeFiles/ +submodules/libuv diff --git a/zone/raids.cpp b/zone/raids.cpp index fb5e9a03a..cdd23fefc 100644 --- a/zone/raids.cpp +++ b/zone/raids.cpp @@ -194,7 +194,7 @@ void Raid::AddBot(Bot* b, uint32 group, bool rleader, bool groupleader, bool loo GroupUpdate(group); else // get raid AAs, GroupUpdate will handles it otherwise //SendGroupLeadershipAA(c, RAID_GROUPLESS); Is this needed for bots? - SendRaidAddAll(b->GetOwner()->GetName()); + //SendRaidAddAll(b->GetOwner()->GetName()); b->SetRaidGrouped(true); SendRaidMOTD(b->GetOwner()->CastToClient()); @@ -231,7 +231,7 @@ void Raid::AddBot(Bot* b, uint32 group, bool rleader, bool groupleader, bool loo auto pack = new ServerPacket(ServerOP_RaidAdd, sizeof(ServerRaidGeneralAction_Struct)); ServerRaidGeneralAction_Struct* rga = (ServerRaidGeneralAction_Struct*)pack->pBuffer; rga->rid = GetID(); - strn0cpy(rga->playername, b->GetOwner()->GetName(), 64); + strn0cpy(rga->playername, b->GetName(), 64); rga->zoneid = zone->GetZoneID(); rga->instance_id = zone->GetInstanceID(); worldserver.SendPacket(pack); @@ -1097,7 +1097,7 @@ void Raid::SendRaidAddAll(const char *who) { for(int x = 0; x < MAX_RAID_MEMBERS; x++) { - if(strcmp(members[x].membername, who) == 0) + if(strcmp(members[x].membername, who) == 0 && members[x].membername != "MyBard") //Mitch add IsBot { auto outapp = new EQApplicationPacket(OP_RaidUpdate, sizeof(RaidAddMember_Struct)); RaidAddMember_Struct *ram = (RaidAddMember_Struct*)outapp->pBuffer; @@ -1227,7 +1227,12 @@ void Raid::SendBulkRaid(Client *to) { if(strlen(members[x].membername) > 0 && (strcmp(members[x].membername, to->GetName()) != 0)) //don't send ourself { - SendRaidAdd(members[x].membername, to); +#ifdef BOTS + if(!entity_list.GetBotByBotName(members[x].membername)) + SendRaidAdd(members[x].membername, to); +#else + SendRaidAdd(members[x].membername, to); +#endif } } } @@ -1616,14 +1621,22 @@ void Raid::VerifyRaid() } else{ Client *c = entity_list.GetClientByName(members[x].membername); +#ifdef BOTS + Bot* b = entity_list.GetBotByBotName(members[x].membername); //Mitch +#endif if(c){ members[x].member = c; } - else{ +#ifdef BOTS + else if(b){ + members[x].member = b->CastToClient(); //Raid requires client* we are forcing it here to be a BOT + } +#endif + else { members[x].member = nullptr; } } - if(members[x].IsRaidLeader){ + if(members[x].IsRaidLeader && !members[x].member->IsBot()){ //Mitch added reference to IsBot if(strlen(members[x].membername) > 0){ SetLeader(members[x].member); strn0cpy(leadername, members[x].membername, 64);