mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-11 07:38:36 +00:00
Some Bot Raid working
This commit is contained in:
+12
-4
@@ -10136,16 +10136,24 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
|
||||
else {
|
||||
raid->AddBot(b, free_group_id, false, false, false);
|
||||
}
|
||||
raid->SendBulkRaid(b->CastToClient());
|
||||
}
|
||||
else if (group->members[x]->IsClient()) {
|
||||
c = group->members[x]->CastToClient();
|
||||
if (x == 0) {
|
||||
raid->SendRaidCreate(c);
|
||||
raid->SendMakeLeaderPacketTo(raid->leadername, c);
|
||||
raid->AddMember(c, free_group_id, false, true, false);
|
||||
raid->SetGroupLeader(c->GetName());
|
||||
}
|
||||
else {
|
||||
raid->SendRaidCreate(c);
|
||||
raid->SendMakeLeaderPacketTo(raid->leadername, c);
|
||||
raid->AddMember(c, free_group_id, false, false, false);
|
||||
}
|
||||
raid->SendBulkRaid(c);
|
||||
if (raid->IsLocked())
|
||||
raid->SendRaidLockTo(c);
|
||||
}
|
||||
|
||||
//if (!addClient)
|
||||
@@ -10161,9 +10169,7 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
|
||||
// else
|
||||
// raid->AddMember(c, free_group_id);
|
||||
//raid->SendRaidGroupAdd(b_owner->GetName(), free_group_id);
|
||||
if (raid->IsLocked()) {
|
||||
raid->SendRaidLockTo(b_owner);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
group->JoinRaidXTarget(raid);
|
||||
@@ -10174,7 +10180,9 @@ void Bot::ProcessRaidInvite(Bot* player_accepting_invite, Client* b_owner) {
|
||||
//raid->SendRaidCreate(b_owner);
|
||||
//raid->SendMakeLeaderPacketTo(raid->leadername, b_owner);
|
||||
raid->AddBot(player_accepting_invite);
|
||||
raid->SendBulkRaid(b_owner);
|
||||
// Set indicator that bot owner has already received this update. Mitch
|
||||
|
||||
//raid->SendBulkRaid(b_owner);
|
||||
if (raid->IsLocked()) {
|
||||
raid->SendRaidLockTo(b_owner);
|
||||
}
|
||||
|
||||
+12
-7
@@ -194,10 +194,11 @@ 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->GetName());
|
||||
|
||||
members[GetPlayerIndex(b->GetName())].SentToBotOwner = true; //Mitch indicates that the BotOwner has received this raid info already.
|
||||
b->SetRaidGrouped(true);
|
||||
SendRaidMOTD(b->GetOwner()->CastToClient());
|
||||
//SendRaidMOTD(b->GetOwner()->CastToClient());
|
||||
|
||||
// Mitch What to do here?
|
||||
// xtarget shit ..........
|
||||
@@ -1075,7 +1076,7 @@ void Raid::SendRaidAdd(const char *who, Client *to)
|
||||
|
||||
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].SentToBotOwner) //Mitch
|
||||
{
|
||||
auto outapp = new EQApplicationPacket(OP_RaidUpdate, sizeof(RaidAddMember_Struct));
|
||||
RaidAddMember_Struct *ram = (RaidAddMember_Struct*)outapp->pBuffer;
|
||||
@@ -1095,12 +1096,15 @@ void Raid::SendRaidAdd(const char *who, Client *to)
|
||||
|
||||
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 && members[x].membername != "MyBard") //Mitch add IsBot
|
||||
if (strcmp(members[x].membername, who) == 0 ) //Mitch add IsBot
|
||||
//if (!members[x].member->IsBot() ||
|
||||
// strcmp(members[x].membername, who) == 0 ||
|
||||
// (members[x].SentToBotOwner && members[x].member->GetOwnerID() != entity_list.GetClientByName(who)->CharacterID())) //Mitch add IsBot
|
||||
{
|
||||
auto outapp = new EQApplicationPacket(OP_RaidUpdate, sizeof(RaidAddMember_Struct));
|
||||
RaidAddMember_Struct *ram = (RaidAddMember_Struct*)outapp->pBuffer;
|
||||
RaidAddMember_Struct* ram = (RaidAddMember_Struct*)outapp->pBuffer;
|
||||
ram->raidGen.action = raidAdd;
|
||||
ram->raidGen.parameter = members[x].GroupNumber;
|
||||
strcpy(ram->raidGen.leader_name, members[x].membername);
|
||||
@@ -1111,6 +1115,7 @@ void Raid::SendRaidAddAll(const char *who)
|
||||
this->QueuePacket(outapp);
|
||||
safe_delete(outapp);
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -88,6 +88,7 @@ struct RaidMember{
|
||||
bool IsGroupLeader;
|
||||
bool IsRaidLeader;
|
||||
bool IsLooter;
|
||||
bool SentToBotOwner;
|
||||
};
|
||||
|
||||
struct GroupMentor {
|
||||
@@ -112,7 +113,7 @@ public:
|
||||
bool IsRaid() { return true; }
|
||||
|
||||
void AddMember(Client *c, uint32 group = 0xFFFFFFFF, bool rleader=false, bool groupleader=false, bool looter=false);
|
||||
void AddBot(Bot* b, uint32 group = 0xFFFFFFFF, bool rleader=false, bool groupleader=false, bool looter=false);
|
||||
void AddBot(Bot* b, uint32 group = 0xFFFFFFFF, bool rleader=false, bool groupleader=false, bool looter=false); //Mitch
|
||||
void RemoveMember(const char *c);
|
||||
void DisbandRaid();
|
||||
void MoveMember(const char *name, uint32 newGroup);
|
||||
|
||||
Reference in New Issue
Block a user