End of day Jan 5

Working Raid Invite to a Bot.
This commit is contained in:
neckkola
2022-01-05 22:46:06 -04:00
parent d85646b637
commit 42ef4a2891
3 changed files with 35 additions and 32 deletions
+6 -5
View File
@@ -10102,7 +10102,7 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
b_owner->MessageString(Chat::White, ALREADY_IN_RAID, player_accepting_invite->GetName()); //group failed, must invite members not in raid...
return;
}
Raid* raid = entity_list.GetRaidByMob(player_accepting_invite);
Raid* raid = entity_list.GetRaidByClient(b_owner);
if (raid) {
raid->VerifyRaid();
Group* group = player_accepting_invite->GetGroup();
@@ -10150,9 +10150,9 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
raid->GroupUpdate(free_group_id);
}
else {
raid->SendRaidCreate(b_owner);
raid->SendMakeLeaderPacketTo(raid->leadername, b_owner);
raid->AddMember(b_owner);
//raid->SendRaidCreate(b_owner);
//raid->SendMakeLeaderPacketTo(raid->leadername, b_owner);
raid->AddBot(player_accepting_invite);
raid->SendBulkRaid(b_owner);
if (raid->IsLocked()) {
raid->SendRaidLockTo(b_owner);
@@ -10354,8 +10354,9 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
raid->SendRaidCreate(b_owner);
raid->SendMakeLeaderPacketTo(raid->leadername, b_owner);
raid->AddMember(b_owner, 0xFFFFFFFF, true, false, true);
raid->SendBulkRaid(b_owner);
raid->AddBot(player_accepting_invite);
raid->SendBulkRaid(b_owner);
if (raid->IsLocked()) {
raid->SendRaidLockTo(b_owner);
}
+21 -19
View File
@@ -11322,7 +11322,7 @@ void Client::Handle_OP_RaidCommand(const EQApplicationPacket *app)
{
case RaidCommandInviteIntoExisting:
case RaidCommandInvite: {
//Mitch
//Mitch
#ifdef BOTS
Bot* player_to_invite = nullptr;
Client* player_to_invite_owner = nullptr;
@@ -11353,28 +11353,30 @@ void Client::Handle_OP_RaidCommand(const EQApplicationPacket *app)
Bot::ProcessRaidInvite(player_to_invite, player_to_invite_owner);
}
#else
Client *player_to_invite = entity_list.GetClientByName(raid_command_packet->player_name);
else
{
#endif
Client* player_to_invite = entity_list.GetClientByName(raid_command_packet->player_name);
if (!player_to_invite)
break;
if (!player_to_invite)
break;
Group *player_to_invite_group = player_to_invite->GetGroup();
Group* player_to_invite_group = player_to_invite->GetGroup();
if (player_to_invite->HasRaid()) {
Message(Chat::Red, "%s is already in a raid.", player_to_invite->GetName());
break;
}
if (player_to_invite->HasRaid()) {
Message(Chat::Red, "%s is already in a raid.", player_to_invite->GetName());
break;
}
if (player_to_invite_group && player_to_invite_group->IsGroupMember(this)) {
MessageString(Chat::Red, ALREADY_IN_PARTY);
break;
}
if (player_to_invite_group && player_to_invite_group->IsGroupMember(this)) {
MessageString(Chat::Red, ALREADY_IN_PARTY);
break;
}
if (player_to_invite_group && !player_to_invite_group->IsLeader(player_to_invite)) {
Message(Chat::Red, "You can only invite an ungrouped player or group leader to join your raid.");
break;
}
if (player_to_invite_group && !player_to_invite_group->IsLeader(player_to_invite)) {
Message(Chat::Red, "You can only invite an ungrouped player or group leader to join your raid.");
break;
}
/* Send out invite to the client */
auto outapp = new EQApplicationPacket(OP_RaidUpdate, sizeof(RaidGeneral_Struct));
@@ -11389,10 +11391,10 @@ void Client::Handle_OP_RaidCommand(const EQApplicationPacket *app)
player_to_invite->QueuePacket(outapp);
safe_delete(outapp);
#endif
break;
}
}
case RaidCommandAcceptInvite: {
+8 -8
View File
@@ -221,12 +221,12 @@ void Raid::AddBot(Bot* b, uint32 group, bool rleader, bool groupleader, bool loo
// }
//}
Raid* raid_update = nullptr;
raid_update = b->GetOwner()->GetRaid();
if (raid_update) {
raid_update->SendHPManaEndPacketsTo(b->GetOwner()->CastToClient());
raid_update->SendHPManaEndPacketsFrom(b->GetOwner()->CastToClient());
}
// Raid* raid_update = nullptr;
// raid_update = b->GetOwner()->GetRaid();
// if (raid_update) {
// raid_update->SendHPManaEndPacketsTo(b->GetOwner()->CastToClient());
// raid_update->SendHPManaEndPacketsFrom(b->GetOwner()->CastToClient());
// }
auto pack = new ServerPacket(ServerOP_RaidAdd, sizeof(ServerRaidGeneralAction_Struct));
ServerRaidGeneralAction_Struct* rga = (ServerRaidGeneralAction_Struct*)pack->pBuffer;
@@ -1227,7 +1227,7 @@ void Raid::SendBulkRaid(Client *to)
{
if(strlen(members[x].membername) > 0 && (strcmp(members[x].membername, to->GetName()) != 0)) //don't send ourself
{
#ifdef BOTS
#ifdef BOTSS
if(!entity_list.GetBotByBotName(members[x].membername))
SendRaidAdd(members[x].membername, to);
#else
@@ -1241,7 +1241,7 @@ void Raid::QueuePacket(const EQApplicationPacket *app, bool ack_req)
{
for(int x = 0; x < MAX_RAID_MEMBERS; x++)
{
if(members[x].member)
if(members[x].member && !members[x].member->IsBot())
{
members[x].member->QueuePacket(app, ack_req);
}