Skip to content
This repository has been archived by the owner on Mar 12, 2024. It is now read-only.

Commit

Permalink
[Quest API] Add GetAverageLevel() to Perl/Lua. (EQEmu#2524)
Browse files Browse the repository at this point in the history
# 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.
  • Loading branch information
Kinglykrab authored and catapultam-habeo committed Mar 27, 2023
1 parent c859df2 commit 296d003
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
14 changes: 10 additions & 4 deletions zone/lua_group.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,12 @@ int Lua_Group::GroupCount() {
return self->GroupCount();
}

int Lua_Group::GetHighestLevel() {
uint32 Lua_Group::GetHighestLevel() {
Lua_Safe_Call_Int();
return self->GetHighestLevel();
}

int Lua_Group::GetLowestLevel() {
uint32 Lua_Group::GetLowestLevel() {
Lua_Safe_Call_Int();
return self->GetLowestLevel();
}
Expand Down Expand Up @@ -119,6 +119,11 @@ bool Lua_Group::DoesAnyMemberHaveExpeditionLockout(std::string expedition_name,
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() {
return luabind::class_<Lua_Group>("Group")
.def(luabind::constructor<>())
Expand All @@ -128,11 +133,12 @@ luabind::scope lua_register_group() {
.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, 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("GetLeader", (Lua_Mob(Lua_Group::*)(void))&Lua_Group::GetLeader)
.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("GetTotalGroupDamage", (uint32(Lua_Group::*)(Lua_Mob))&Lua_Group::GetTotalGroupDamage)
.def("GroupCount", (int(Lua_Group::*)(void))&Lua_Group::GroupCount)
Expand Down
5 changes: 3 additions & 2 deletions zone/lua_group.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ class Lua_Group : public Lua_Ptr<Group>
const char *GetLeaderName();
bool IsLeader(Lua_Mob leader);
int GroupCount();
int GetHighestLevel();
int GetLowestLevel();
uint32 GetAverageLevel();
uint32 GetHighestLevel();
uint32 GetLowestLevel();
void TeleportGroup(Lua_Mob sender, uint32 zone_id, uint32 instance_id, float x, float y, float z, float h);
int GetID();
Lua_Mob GetMember(int index);
Expand Down
6 changes: 6 additions & 0 deletions zone/perl_groups.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ uint32_t Perl_Group_GetLowestLevel(Group* self) // @categories Script Utility, G
return self->GetLowestLevel();
}

uint32_t Perl_Group_GetAverageLevel(Group* self) // @categories Script Utility, Group
{
return self->GetAvgLevel();
}

void perl_register_group()
{
perl::interpreter perl(PERL_GET_THX);
Expand All @@ -135,6 +140,7 @@ void perl_register_group()
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, int))&Perl_Group_DoesAnyMemberHaveExpeditionLockout);
package.add("GetAverageLevel", &Perl_Group_GetAverageLevel);
package.add("GetHighestLevel", &Perl_Group_GetHighestLevel);
package.add("GetID", &Perl_Group_GetID);
package.add("GetLeader", &Perl_Group_GetLeader);
Expand Down

0 comments on commit 296d003

Please sign in to comment.