mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-03 03:50:40 +00:00
[Quest API] Add GetMemberRole() to Perl/Lua (#4963)
* Add group member role retrieval * Expose group member role to Lua * Cleanup * Cleanup --------- Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
This commit is contained in:
+51
-7
@@ -2472,19 +2472,63 @@ bool Group::AmIPuller(const char *mob_name)
|
||||
return !((bool)PullerName.compare(mob_name));
|
||||
}
|
||||
|
||||
bool Group::HasRole(Mob *m, uint8 Role)
|
||||
bool Group::HasRole(Mob* m, uint8 Role)
|
||||
{
|
||||
if(!m)
|
||||
if (!m) {
|
||||
return false;
|
||||
|
||||
for(uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i)
|
||||
{
|
||||
if((m == members[i]) && (MemberRoles[i] & Role))
|
||||
return true;
|
||||
}
|
||||
|
||||
for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
|
||||
if (m == members[i] && MemberRoles[i] & Role) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
uint8 Group::GetMemberRole(Mob* m)
|
||||
{
|
||||
if (!m) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
|
||||
if (m == members[i]) {
|
||||
uint8 role = MemberRoles[i];
|
||||
|
||||
if (m == leader) {
|
||||
role |= RoleLeader;
|
||||
}
|
||||
|
||||
return role;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8 Group::GetMemberRole(const char* name)
|
||||
{
|
||||
if (!name) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (uint32 i = 0; i < MAX_GROUP_MEMBERS; ++i) {
|
||||
if (!strcasecmp(membername[i], name)) {
|
||||
uint8 role = MemberRoles[i];
|
||||
|
||||
if (leader && !strcasecmp(leader->GetName(), name)) {
|
||||
role |= RoleLeader;
|
||||
}
|
||||
|
||||
return role;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Group::QueueClients(Mob *sender, const EQApplicationPacket *app, bool ack_required /*= true*/, bool ignore_sender /*= true*/, float distance /*= 0*/) {
|
||||
if (sender && sender->IsClient()) {
|
||||
for (uint32 i = 0; i < MAX_GROUP_MEMBERS; i++) {
|
||||
|
||||
Reference in New Issue
Block a user