Basement Jan 5

This commit is contained in:
neckkola
2022-01-05 17:33:52 -04:00
parent 6802681abe
commit d85646b637
2 changed files with 20 additions and 6 deletions
+1
View File
@@ -54,3 +54,4 @@ bin/
/Win32 /Win32
/x64 /x64
/client_files/**/CMakeFiles/ /client_files/**/CMakeFiles/
submodules/libuv
+19 -6
View File
@@ -194,7 +194,7 @@ void Raid::AddBot(Bot* b, uint32 group, bool rleader, bool groupleader, bool loo
GroupUpdate(group); GroupUpdate(group);
else // get raid AAs, GroupUpdate will handles it otherwise else // get raid AAs, GroupUpdate will handles it otherwise
//SendGroupLeadershipAA(c, RAID_GROUPLESS); Is this needed for bots? //SendGroupLeadershipAA(c, RAID_GROUPLESS); Is this needed for bots?
SendRaidAddAll(b->GetOwner()->GetName()); //SendRaidAddAll(b->GetOwner()->GetName());
b->SetRaidGrouped(true); b->SetRaidGrouped(true);
SendRaidMOTD(b->GetOwner()->CastToClient()); 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)); auto pack = new ServerPacket(ServerOP_RaidAdd, sizeof(ServerRaidGeneralAction_Struct));
ServerRaidGeneralAction_Struct* rga = (ServerRaidGeneralAction_Struct*)pack->pBuffer; ServerRaidGeneralAction_Struct* rga = (ServerRaidGeneralAction_Struct*)pack->pBuffer;
rga->rid = GetID(); rga->rid = GetID();
strn0cpy(rga->playername, b->GetOwner()->GetName(), 64); strn0cpy(rga->playername, b->GetName(), 64);
rga->zoneid = zone->GetZoneID(); rga->zoneid = zone->GetZoneID();
rga->instance_id = zone->GetInstanceID(); rga->instance_id = zone->GetInstanceID();
worldserver.SendPacket(pack); worldserver.SendPacket(pack);
@@ -1097,7 +1097,7 @@ void Raid::SendRaidAddAll(const char *who)
{ {
for(int x = 0; x < MAX_RAID_MEMBERS; x++) 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)); auto outapp = new EQApplicationPacket(OP_RaidUpdate, sizeof(RaidAddMember_Struct));
RaidAddMember_Struct *ram = (RaidAddMember_Struct*)outapp->pBuffer; 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 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{ else{
Client *c = entity_list.GetClientByName(members[x].membername); Client *c = entity_list.GetClientByName(members[x].membername);
#ifdef BOTS
Bot* b = entity_list.GetBotByBotName(members[x].membername); //Mitch
#endif
if(c){ if(c){
members[x].member = 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; 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){ if(strlen(members[x].membername) > 0){
SetLeader(members[x].member); SetLeader(members[x].member);
strn0cpy(leadername, members[x].membername, 64); strn0cpy(leadername, members[x].membername, 64);