mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18:51:29 +00:00
[Quest API] Add GetAAEXPPercentage() and GetEXPPercentage() to Perl/Lua (#4044)
* Initial Push * Push * Push.
This commit is contained in:
parent
3f9a604c5c
commit
0ffea36905
@ -12097,3 +12097,25 @@ void Client::SetEXPModifier(uint32 zone_id, float exp_modifier, int16 instance_v
|
|||||||
|
|
||||||
database.LoadCharacterEXPModifier(this);
|
database.LoadCharacterEXPModifier(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Client::GetAAEXPPercentage()
|
||||||
|
{
|
||||||
|
int scaled = static_cast<int>(330.0f * static_cast<float>(GetAAXP()) / GetRequiredAAExperience());
|
||||||
|
|
||||||
|
return static_cast<int>(std::round(scaled * 100.0 / 330.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
int Client::GetEXPPercentage()
|
||||||
|
{
|
||||||
|
float norm = 0.0f;
|
||||||
|
uint32_t min = GetEXPForLevel(GetLevel());
|
||||||
|
uint32_t max = GetEXPForLevel(GetLevel() + 1);
|
||||||
|
|
||||||
|
if (min != max) {
|
||||||
|
norm = static_cast<float>(GetEXP() - min) / (max - min);
|
||||||
|
}
|
||||||
|
|
||||||
|
int scaled = static_cast<int>(330.0f * norm); // scale and truncate
|
||||||
|
|
||||||
|
return static_cast<int>(std::round(scaled * 100.0 / 330.0)); // unscaled pct
|
||||||
|
}
|
||||||
|
|||||||
@ -960,6 +960,9 @@ public:
|
|||||||
void SetTitleSuffix(std::string suffix);
|
void SetTitleSuffix(std::string suffix);
|
||||||
void MemorizeSpell(uint32 slot, uint32 spell_id, uint32 scribing, uint32 reduction = 0);
|
void MemorizeSpell(uint32 slot, uint32 spell_id, uint32 scribing, uint32 reduction = 0);
|
||||||
|
|
||||||
|
int GetAAEXPPercentage();
|
||||||
|
int GetEXPPercentage();
|
||||||
|
|
||||||
// Item methods
|
// Item methods
|
||||||
void UseAugmentContainer(int container_slot);
|
void UseAugmentContainer(int container_slot);
|
||||||
void EVENT_ITEM_ScriptStopReturn();
|
void EVENT_ITEM_ScriptStopReturn();
|
||||||
|
|||||||
@ -3278,6 +3278,18 @@ void Lua_Client::ClearXTargets()
|
|||||||
self->ClearXTargets();
|
self->ClearXTargets();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Lua_Client::GetAAEXPPercentage()
|
||||||
|
{
|
||||||
|
Lua_Safe_Call_Int();
|
||||||
|
return self->GetAAEXPPercentage();
|
||||||
|
}
|
||||||
|
|
||||||
|
int Lua_Client::GetEXPPercentage()
|
||||||
|
{
|
||||||
|
Lua_Safe_Call_Int();
|
||||||
|
return self->GetEXPPercentage();
|
||||||
|
}
|
||||||
|
|
||||||
luabind::scope lua_register_client() {
|
luabind::scope lua_register_client() {
|
||||||
return luabind::class_<Lua_Client, Lua_Mob>("Client")
|
return luabind::class_<Lua_Client, Lua_Mob>("Client")
|
||||||
.def(luabind::constructor<>())
|
.def(luabind::constructor<>())
|
||||||
@ -3400,6 +3412,7 @@ luabind::scope lua_register_client() {
|
|||||||
.def("GetAAEXPModifier", (float(Lua_Client::*)(void))&Lua_Client::GetAAEXPModifier)
|
.def("GetAAEXPModifier", (float(Lua_Client::*)(void))&Lua_Client::GetAAEXPModifier)
|
||||||
.def("GetAAEXPModifier", (float(Lua_Client::*)(uint32))&Lua_Client::GetAAEXPModifier)
|
.def("GetAAEXPModifier", (float(Lua_Client::*)(uint32))&Lua_Client::GetAAEXPModifier)
|
||||||
.def("GetAAEXPModifier", (float(Lua_Client::*)(uint32,int16))&Lua_Client::GetAAEXPModifier)
|
.def("GetAAEXPModifier", (float(Lua_Client::*)(uint32,int16))&Lua_Client::GetAAEXPModifier)
|
||||||
|
.def("GetAAEXPPercentage", (int(Lua_Client::*)(void))&Lua_Client::GetAAEXPPercentage)
|
||||||
.def("GetAAExp", (uint32(Lua_Client::*)(void))&Lua_Client::GetAAExp)
|
.def("GetAAExp", (uint32(Lua_Client::*)(void))&Lua_Client::GetAAExp)
|
||||||
.def("GetAAPercent", (uint32(Lua_Client::*)(void))&Lua_Client::GetAAPercent)
|
.def("GetAAPercent", (uint32(Lua_Client::*)(void))&Lua_Client::GetAAPercent)
|
||||||
.def("GetAAPoints", (int(Lua_Client::*)(void))&Lua_Client::GetAAPoints)
|
.def("GetAAPoints", (int(Lua_Client::*)(void))&Lua_Client::GetAAPoints)
|
||||||
@ -3459,6 +3472,7 @@ luabind::scope lua_register_client() {
|
|||||||
.def("GetEXPModifier", (float(Lua_Client::*)(void))&Lua_Client::GetEXPModifier)
|
.def("GetEXPModifier", (float(Lua_Client::*)(void))&Lua_Client::GetEXPModifier)
|
||||||
.def("GetEXPModifier", (float(Lua_Client::*)(uint32))&Lua_Client::GetEXPModifier)
|
.def("GetEXPModifier", (float(Lua_Client::*)(uint32))&Lua_Client::GetEXPModifier)
|
||||||
.def("GetEXPModifier", (float(Lua_Client::*)(uint32,int16))&Lua_Client::GetEXPModifier)
|
.def("GetEXPModifier", (float(Lua_Client::*)(uint32,int16))&Lua_Client::GetEXPModifier)
|
||||||
|
.def("GetEXPPercentage", (int(Lua_Client::*)(void))&Lua_Client::GetEXPPercentage)
|
||||||
.def("GetEbonCrystals", (uint32(Lua_Client::*)(void))&Lua_Client::GetEbonCrystals)
|
.def("GetEbonCrystals", (uint32(Lua_Client::*)(void))&Lua_Client::GetEbonCrystals)
|
||||||
.def("GetEndurance", (int(Lua_Client::*)(void))&Lua_Client::GetEndurance)
|
.def("GetEndurance", (int(Lua_Client::*)(void))&Lua_Client::GetEndurance)
|
||||||
.def("GetEndurancePercent", (int(Lua_Client::*)(void))&Lua_Client::GetEndurancePercent)
|
.def("GetEndurancePercent", (int(Lua_Client::*)(void))&Lua_Client::GetEndurancePercent)
|
||||||
|
|||||||
@ -493,6 +493,8 @@ public:
|
|||||||
void SummonItemIntoInventory(luabind::object item_table);
|
void SummonItemIntoInventory(luabind::object item_table);
|
||||||
bool HasItemOnCorpse(uint32 item_id);
|
bool HasItemOnCorpse(uint32 item_id);
|
||||||
void ClearXTargets();
|
void ClearXTargets();
|
||||||
|
int GetAAEXPPercentage();
|
||||||
|
int GetEXPPercentage();
|
||||||
|
|
||||||
void ApplySpell(int spell_id);
|
void ApplySpell(int spell_id);
|
||||||
void ApplySpell(int spell_id, int duration);
|
void ApplySpell(int spell_id, int duration);
|
||||||
|
|||||||
@ -3088,6 +3088,16 @@ void Perl_Client_ClearXTargets(Client* self)
|
|||||||
self->ClearXTargets();
|
self->ClearXTargets();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Perl_Client_GetAAEXPPercentage(Client* self)
|
||||||
|
{
|
||||||
|
return self->GetAAEXPPercentage();
|
||||||
|
}
|
||||||
|
|
||||||
|
int Perl_Client_GetEXPPercentage(Client* self)
|
||||||
|
{
|
||||||
|
return self->GetEXPPercentage();
|
||||||
|
}
|
||||||
|
|
||||||
void perl_register_client()
|
void perl_register_client()
|
||||||
{
|
{
|
||||||
perl::interpreter perl(PERL_GET_THX);
|
perl::interpreter perl(PERL_GET_THX);
|
||||||
@ -3204,6 +3214,7 @@ void perl_register_client()
|
|||||||
package.add("GetAAEXPModifier", (float(*)(Client*))&Perl_Client_GetAAEXPModifier);
|
package.add("GetAAEXPModifier", (float(*)(Client*))&Perl_Client_GetAAEXPModifier);
|
||||||
package.add("GetAAEXPModifier", (float(*)(Client*, uint32))&Perl_Client_GetAAEXPModifier);
|
package.add("GetAAEXPModifier", (float(*)(Client*, uint32))&Perl_Client_GetAAEXPModifier);
|
||||||
package.add("GetAAEXPModifier", (float(*)(Client*, uint32, int16))&Perl_Client_GetAAEXPModifier);
|
package.add("GetAAEXPModifier", (float(*)(Client*, uint32, int16))&Perl_Client_GetAAEXPModifier);
|
||||||
|
package.add("GetAAEXPPercentage", &Perl_Client_GetAAEXPPercentage);
|
||||||
package.add("GetAAExp", &Perl_Client_GetAAExp);
|
package.add("GetAAExp", &Perl_Client_GetAAExp);
|
||||||
package.add("GetAALevel", &Perl_Client_GetAALevel);
|
package.add("GetAALevel", &Perl_Client_GetAALevel);
|
||||||
package.add("GetAAPercent", &Perl_Client_GetAAPercent);
|
package.add("GetAAPercent", &Perl_Client_GetAAPercent);
|
||||||
@ -3265,6 +3276,7 @@ void perl_register_client()
|
|||||||
package.add("GetEXPModifier", (float(*)(Client*))&Perl_Client_GetEXPModifier);
|
package.add("GetEXPModifier", (float(*)(Client*))&Perl_Client_GetEXPModifier);
|
||||||
package.add("GetEXPModifier", (float(*)(Client*, uint32))&Perl_Client_GetEXPModifier);
|
package.add("GetEXPModifier", (float(*)(Client*, uint32))&Perl_Client_GetEXPModifier);
|
||||||
package.add("GetEXPModifier", (float(*)(Client*, uint32, int16))&Perl_Client_GetEXPModifier);
|
package.add("GetEXPModifier", (float(*)(Client*, uint32, int16))&Perl_Client_GetEXPModifier);
|
||||||
|
package.add("GetEXPPercentage", &Perl_Client_GetEXPPercentage);
|
||||||
package.add("GetEbonCrystals", &Perl_Client_GetEbonCrystals);
|
package.add("GetEbonCrystals", &Perl_Client_GetEbonCrystals);
|
||||||
package.add("GetEndurance", &Perl_Client_GetEndurance);
|
package.add("GetEndurance", &Perl_Client_GetEndurance);
|
||||||
package.add("GetEnduranceRatio", &Perl_Client_GetEnduranceRatio);
|
package.add("GetEnduranceRatio", &Perl_Client_GetEnduranceRatio);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user