[Quest API] Add GetAverageLevel() to Perl/Lua. (#2524)

# Perl
- Add `$group->GetAverageLevel()` to Perl.

# Lua
- Add `group:GetAverageLevel()` to Lua.
- Convert `group:GetHighestLevel()` from `int` to `uint32` in Lua.
- Convert `group:GetLowestLevel()` from `int` to `uint32` in Lua.
This commit is contained in:
Kinglykrab 2022-11-14 14:04:14 -05:00 committed by GitHub
parent fca99bb274
commit 3cb13969ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 6 deletions

View File

@ -77,12 +77,12 @@ int Lua_Group::GroupCount() {
return self->GroupCount(); return self->GroupCount();
} }
int Lua_Group::GetHighestLevel() { uint32 Lua_Group::GetHighestLevel() {
Lua_Safe_Call_Int(); Lua_Safe_Call_Int();
return self->GetHighestLevel(); return self->GetHighestLevel();
} }
int Lua_Group::GetLowestLevel() { uint32 Lua_Group::GetLowestLevel() {
Lua_Safe_Call_Int(); Lua_Safe_Call_Int();
return self->GetLowestLevel(); return self->GetLowestLevel();
} }
@ -119,6 +119,11 @@ bool Lua_Group::DoesAnyMemberHaveExpeditionLockout(std::string expedition_name,
return self->DoesAnyMemberHaveExpeditionLockout(expedition_name, event_name, max_check_count); return self->DoesAnyMemberHaveExpeditionLockout(expedition_name, event_name, max_check_count);
} }
uint32 Lua_Group::GetAverageLevel() {
Lua_Safe_Call_Int();
return self->GetAvgLevel();
}
luabind::scope lua_register_group() { luabind::scope lua_register_group() {
return luabind::class_<Lua_Group>("Group") return luabind::class_<Lua_Group>("Group")
.def(luabind::constructor<>()) .def(luabind::constructor<>())
@ -128,11 +133,12 @@ luabind::scope lua_register_group() {
.def("DisbandGroup", (void(Lua_Group::*)(void))&Lua_Group::DisbandGroup) .def("DisbandGroup", (void(Lua_Group::*)(void))&Lua_Group::DisbandGroup)
.def("DoesAnyMemberHaveExpeditionLockout", (bool(Lua_Group::*)(std::string, std::string))&Lua_Group::DoesAnyMemberHaveExpeditionLockout) .def("DoesAnyMemberHaveExpeditionLockout", (bool(Lua_Group::*)(std::string, std::string))&Lua_Group::DoesAnyMemberHaveExpeditionLockout)
.def("DoesAnyMemberHaveExpeditionLockout", (bool(Lua_Group::*)(std::string, std::string, int))&Lua_Group::DoesAnyMemberHaveExpeditionLockout) .def("DoesAnyMemberHaveExpeditionLockout", (bool(Lua_Group::*)(std::string, std::string, int))&Lua_Group::DoesAnyMemberHaveExpeditionLockout)
.def("GetHighestLevel", (int(Lua_Group::*)(void))&Lua_Group::GetHighestLevel) .def("GetAverageLevel", (uint32(Lua_Group::*)(void))&Lua_Group::GetAverageLevel)
.def("GetHighestLevel", (uint32(Lua_Group::*)(void))&Lua_Group::GetHighestLevel)
.def("GetID", (int(Lua_Group::*)(void))&Lua_Group::GetID) .def("GetID", (int(Lua_Group::*)(void))&Lua_Group::GetID)
.def("GetLeader", (Lua_Mob(Lua_Group::*)(void))&Lua_Group::GetLeader) .def("GetLeader", (Lua_Mob(Lua_Group::*)(void))&Lua_Group::GetLeader)
.def("GetLeaderName", (const char*(Lua_Group::*)(void))&Lua_Group::GetLeaderName) .def("GetLeaderName", (const char*(Lua_Group::*)(void))&Lua_Group::GetLeaderName)
.def("GetLowestLevel", (int(Lua_Group::*)(void))&Lua_Group::GetLowestLevel) .def("GetLowestLevel", (uint32(Lua_Group::*)(void))&Lua_Group::GetLowestLevel)
.def("GetMember", (Lua_Mob(Lua_Group::*)(int))&Lua_Group::GetMember) .def("GetMember", (Lua_Mob(Lua_Group::*)(int))&Lua_Group::GetMember)
.def("GetTotalGroupDamage", (uint32(Lua_Group::*)(Lua_Mob))&Lua_Group::GetTotalGroupDamage) .def("GetTotalGroupDamage", (uint32(Lua_Group::*)(Lua_Mob))&Lua_Group::GetTotalGroupDamage)
.def("GroupCount", (int(Lua_Group::*)(void))&Lua_Group::GroupCount) .def("GroupCount", (int(Lua_Group::*)(void))&Lua_Group::GroupCount)

View File

@ -39,8 +39,9 @@ public:
const char *GetLeaderName(); const char *GetLeaderName();
bool IsLeader(Lua_Mob leader); bool IsLeader(Lua_Mob leader);
int GroupCount(); int GroupCount();
int GetHighestLevel(); uint32 GetAverageLevel();
int GetLowestLevel(); uint32 GetHighestLevel();
uint32 GetLowestLevel();
void TeleportGroup(Lua_Mob sender, uint32 zone_id, uint32 instance_id, float x, float y, float z, float h); void TeleportGroup(Lua_Mob sender, uint32 zone_id, uint32 instance_id, float x, float y, float z, float h);
int GetID(); int GetID();
Lua_Mob GetMember(int index); Lua_Mob GetMember(int index);

View File

@ -126,6 +126,11 @@ uint32_t Perl_Group_GetLowestLevel(Group* self) // @categories Script Utility, G
return self->GetLowestLevel(); return self->GetLowestLevel();
} }
uint32_t Perl_Group_GetAverageLevel(Group* self) // @categories Script Utility, Group
{
return self->GetAvgLevel();
}
void perl_register_group() void perl_register_group()
{ {
perl::interpreter perl(PERL_GET_THX); perl::interpreter perl(PERL_GET_THX);
@ -135,6 +140,7 @@ void perl_register_group()
package.add("DisbandGroup", &Perl_Group_DisbandGroup); package.add("DisbandGroup", &Perl_Group_DisbandGroup);
package.add("DoesAnyMemberHaveExpeditionLockout", (bool(*)(Group*, std::string, std::string))&Perl_Group_DoesAnyMemberHaveExpeditionLockout); package.add("DoesAnyMemberHaveExpeditionLockout", (bool(*)(Group*, std::string, std::string))&Perl_Group_DoesAnyMemberHaveExpeditionLockout);
package.add("DoesAnyMemberHaveExpeditionLockout", (bool(*)(Group*, std::string, std::string, int))&Perl_Group_DoesAnyMemberHaveExpeditionLockout); package.add("DoesAnyMemberHaveExpeditionLockout", (bool(*)(Group*, std::string, std::string, int))&Perl_Group_DoesAnyMemberHaveExpeditionLockout);
package.add("GetAverageLevel", &Perl_Group_GetAverageLevel);
package.add("GetHighestLevel", &Perl_Group_GetHighestLevel); package.add("GetHighestLevel", &Perl_Group_GetHighestLevel);
package.add("GetID", &Perl_Group_GetID); package.add("GetID", &Perl_Group_GetID);
package.add("GetLeader", &Perl_Group_GetLeader); package.add("GetLeader", &Perl_Group_GetLeader);