This commit is contained in:
Kinglykrab
2025-07-06 01:49:21 -04:00
parent 34bf1f03f2
commit 14f8014855
5 changed files with 70 additions and 59 deletions
+22 -16
View File
@@ -2474,29 +2474,33 @@ bool Group::AmIPuller(const char *mob_name)
bool Group::HasRole(Mob* m, uint8 Role) bool Group::HasRole(Mob* m, uint8 Role)
{ {
if(!m) if (!m) {
return false; return false;
}
for(uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
{ if (m == members[i] && MemberRoles[i] & Role) {
if((m == members[i]) && (MemberRoles[i] & Role))
return true; return true;
} }
}
return false; return false;
} }
uint8 Group::GetMemberRole(Mob* m) uint8 Group::GetMemberRole(Mob* m)
{ {
if(!m) if (!m) {
return 0; return 0;
}
for(uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
{ if (m == members[i]) {
if(m == members[i])
{
uint8 role = MemberRoles[i]; uint8 role = MemberRoles[i];
if(m == leader)
if (m == leader) {
role |= RoleLeader; role |= RoleLeader;
}
return role; return role;
} }
} }
@@ -2506,16 +2510,18 @@ uint8 Group::GetMemberRole(Mob *m)
uint8 Group::GetMemberRole(const char* name) uint8 Group::GetMemberRole(const char* name)
{ {
if(!name) if (!name) {
return 0; return 0;
}
for(uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
{ if (!strcasecmp(membername[i], name)) {
if(!strcasecmp(membername[i], name))
{
uint8 role = MemberRoles[i]; uint8 role = MemberRoles[i];
if(leader && !strcasecmp(leader->GetName(), name))
if (leader && !strcasecmp(leader->GetName(), name)) {
role |= RoleLeader; role |= RoleLeader;
}
return role; return role;
} }
} }
+6 -1
View File
@@ -30,7 +30,12 @@ class Mob;
#define MAX_MARKED_NPCS 3 #define MAX_MARKED_NPCS 3
enum { RoleAssist = 1, RoleTank = 2, RolePuller = 4, RoleLeader = 8 }; enum {
RoleAssist = 1,
RoleTank = 2,
RolePuller = 4,
RoleLeader = 8
};
class GroupIDConsumer { class GroupIDConsumer {
public: public: