mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
End of day Jan 5
Working Raid Invite to a Bot.
This commit is contained in:
+6
-5
@@ -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
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user