[BUG] Fix for Group Leader Disband Issue

Added public/private class for oldleadername so we can save the previous leader name when the entity is destroyed then allow us to transfer leadership.

Adjusted DelmemberOOZ and in zone functions to include removal of the old leader when disbanding.
This commit is contained in:
Trust
2020-12-04 19:26:16 -05:00
parent de5b7f472d
commit f854137ca0
8 changed files with 147 additions and 59 deletions
+2
View File
@@ -120,6 +120,7 @@ namespace Logs {
Loot,
Expeditions,
DynamicZones,
Group,
MaxCategoryID /* Don't Remove this */
};
@@ -199,6 +200,7 @@ namespace Logs {
"Loot",
"Expeditions",
"DynamicZones",
"Group",
};
}
+12
View File
@@ -80,6 +80,7 @@
#define ServerOP_UpdateSpawn 0x003f
#define ServerOP_SpawnStatusChange 0x0040
#define ServerOP_DropClient 0x0041 // DropClient
#define ServerOP_ChangeGroupLeader 0x0042
#define ServerOP_ReloadTasks 0x0060
#define ServerOP_DepopAllPlayersCorpses 0x0061
#define ServerOP_ReloadTitles 0x0062
@@ -861,6 +862,7 @@ struct ServerGroupLeave_Struct {
uint16 instance_id;
uint32 gid;
char member_name[64]; //kick this member from the group
bool checkleader;
};
struct ServerGroupJoin_Struct {
@@ -870,10 +872,20 @@ struct ServerGroupJoin_Struct {
char member_name[64]; //this person is joining the group
};
struct ServerGroupLeader_Struct {
uint32 zoneid;
uint16 instance_id;
uint32 gid;
char leader_name[64];
char oldleader_name[64];
};
struct ServerForceGroupUpdate_Struct {
uint32 origZoneID;
uint16 instance_id;
uint32 gid;
char leader_name[64];
char oldleader_name[64];
};
struct ServerGroupChannelMessage_Struct {