diff --git a/zone/client.h b/zone/client.h index 68337a9c2e..98ddd9c87a 100644 --- a/zone/client.h +++ b/zone/client.h @@ -1641,6 +1641,7 @@ class Client : public Mob PlayerEvent::PlayerEvent GetPlayerEvent(); void RecordKilledNPCEvent(NPC *n); + uint32 GetEXPForLevel(uint16 check_level); protected: friend class Mob; void CalcEdibleBonuses(StatBonuses* newbon); @@ -1816,7 +1817,6 @@ class Client : public Mob bool temp_pvp; void NPCSpawn(const Seperator* sep); - uint32 GetEXPForLevel(uint16 level); void SendLogoutPackets(); void SendZoneInPackets(); diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index 38707c0a64..60f0cdf3cf 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -3054,6 +3054,12 @@ bool Lua_Client::ReloadDataBuckets() { return DataBucket::GetDataBuckets(self); } +uint32 Lua_Client::GetEXPForLevel(uint16 check_level) +{ + Lua_Safe_Call_Int(); + return self->GetEXPForLevel(check_level); +} + luabind::scope lua_register_client() { return luabind::class_("Client") .def(luabind::constructor<>()) @@ -3217,6 +3223,7 @@ luabind::scope lua_register_client() { .def("GetDisciplineTimer", (uint32(Lua_Client::*)(uint32))&Lua_Client::GetDisciplineTimer) .def("GetDuelTarget", (int(Lua_Client::*)(void))&Lua_Client::GetDuelTarget) .def("GetEXP", (uint32(Lua_Client::*)(void))&Lua_Client::GetEXP) + .def("GetEXPForLevel", (uint32(Lua_Client::*)(uint16))&Lua_Client::GetEXPForLevel) .def("GetEXPModifier", (double(Lua_Client::*)(uint32))&Lua_Client::GetEXPModifier) .def("GetEXPModifier", (double(Lua_Client::*)(uint32,int16))&Lua_Client::GetEXPModifier) .def("GetEbonCrystals", (uint32(Lua_Client::*)(void))&Lua_Client::GetEbonCrystals) diff --git a/zone/lua_client.h b/zone/lua_client.h index 14a74db5e1..569a3124dc 100644 --- a/zone/lua_client.h +++ b/zone/lua_client.h @@ -468,6 +468,7 @@ class Lua_Client : public Lua_Mob void UseAugmentContainer(int container_slot); bool IsAutoAttackEnabled(); bool IsAutoFireEnabled(); + uint32 GetEXPForLevel(uint16 check_level); void ApplySpell(int spell_id); void ApplySpell(int spell_id, int duration); diff --git a/zone/perl_client.cpp b/zone/perl_client.cpp index f86dc3eeea..9cb246a3a0 100644 --- a/zone/perl_client.cpp +++ b/zone/perl_client.cpp @@ -2912,6 +2912,11 @@ bool Perl_Client_ReloadDataBuckets(Client* self) return DataBucket::GetDataBuckets(self); } +uint32 Perl_Client_GetEXPForLevel(Client* self, uint16 check_level) +{ + return self->GetEXPForLevel(check_level); +} + void perl_register_client() { perl::interpreter perl(PERL_GET_THX); @@ -3075,6 +3080,7 @@ void perl_register_client() package.add("GetDuelTarget", &Perl_Client_GetDuelTarget); package.add("GetEnvironmentDamageModifier", &Perl_Client_GetEnvironmentDamageModifier); package.add("GetEXP", &Perl_Client_GetEXP); + package.add("GetEXPForLevel", &Perl_Client_GetEXPForLevel); package.add("GetEXPModifier", (double(*)(Client*, uint32))&Perl_Client_GetEXPModifier); package.add("GetEXPModifier", (double(*)(Client*, uint32, int16))&Perl_Client_GetEXPModifier); package.add("GetEbonCrystals", &Perl_Client_GetEbonCrystals);