[Quest API] Add Group/Raid overloads to Perl/Lua. (#2526)

# Perl
- Add `$raid->GetGroup(client)` to Perl.
- Add `$raid->GetGroupMember(member_index)` to Perl.
- Add `$raid->IsLeader(client)` to Perl.

# Lua
- Add `group:GroupMessage(sender, message)` to Lua.
This commit is contained in:
Kinglykrab
2022-11-14 14:04:38 -05:00
committed by GitHub
parent 3cb13969ff
commit c5c57b7541
6 changed files with 72 additions and 32 deletions
+13 -8
View File
@@ -1,5 +1,7 @@
#ifdef LUA_EQEMU
#include "../common/data_verification.h"
#include "lua.hpp"
#include <luabind/luabind.hpp>
#include <luabind/object.hpp>
@@ -91,9 +93,9 @@ int Lua_Raid::GetLowestLevel() {
return self->GetLowestLevel();
}
Lua_Client Lua_Raid::GetClientByIndex(int index) {
Lua_Client Lua_Raid::GetClientByIndex(int member_index) {
Lua_Safe_Call_Class(Lua_Client);
return self->GetClientByIndex(index);
return self->GetClientByIndex(member_index);
}
void Lua_Raid::TeleportGroup(Lua_Mob sender, uint32 zone_id, uint32 instance_id, float x, float y, float z, float h, uint32 group_id) {
@@ -111,24 +113,27 @@ int Lua_Raid::GetID() {
return self->GetID();
}
Lua_Client Lua_Raid::GetMember(int index) {
Lua_Client Lua_Raid::GetMember(int member_index) {
Lua_Safe_Call_Class(Lua_Client);
if(index >= 72 || index < 0) {
if (!EQ::ValueWithin(member_index, 0, 71)) {
return Lua_Client();
}
return self->members[index].member;
return self->members[member_index].member;
}
int Lua_Raid::GetGroupNumber(int index) {
int Lua_Raid::GetGroupNumber(int member_index) {
Lua_Safe_Call_Int();
if(index >= 72 || index < 0 || self->members[index].GroupNumber == RAID_GROUPLESS) {
if (
!EQ::ValueWithin(member_index, 0, 71) ||
self->members[member_index].GroupNumber == RAID_GROUPLESS
) {
return -1;
}
return self->members[index].GroupNumber;
return self->members[member_index].GroupNumber;
}
bool Lua_Raid::DoesAnyMemberHaveExpeditionLockout(std::string expedition_name, std::string event_name)