mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 03:08:26 +00:00
[Performance] Improve SkillCaps::GetTrainLevel() Efficiency (#4350)
* [Performance] Improve SkillCaps::GetTrainLevel() Efficiency * Finalize
This commit is contained in:
+2
-2
@@ -2803,7 +2803,7 @@ uint16 Client::MaxSkill(EQ::skills::SkillType skill_id, uint8 class_id, uint8 le
|
||||
return skill_caps.GetSkillCap(class_id, skill_id, level).cap;
|
||||
}
|
||||
|
||||
uint8 Client::SkillTrainLevel(EQ::skills::SkillType skill_id, uint8 class_id)
|
||||
uint8 Client::GetSkillTrainLevel(EQ::skills::SkillType skill_id, uint8 class_id)
|
||||
{
|
||||
if (
|
||||
ClientVersion() < EQ::versions::ClientVersion::RoF2 &&
|
||||
@@ -2813,7 +2813,7 @@ uint8 Client::SkillTrainLevel(EQ::skills::SkillType skill_id, uint8 class_id)
|
||||
skill_id = EQ::skills::Skill2HPiercing;
|
||||
}
|
||||
|
||||
return skill_caps.GetTrainLevel(class_id, skill_id, RuleI(Character, MaxLevel));
|
||||
return skill_caps.GetSkillTrainLevel(class_id, skill_id, RuleI(Character, MaxLevel));
|
||||
}
|
||||
|
||||
uint16 Client::GetMaxSkillAfterSpecializationRules(EQ::skills::SkillType skillid, uint16 maxSkill)
|
||||
|
||||
+1
-1
@@ -866,7 +866,7 @@ public:
|
||||
|
||||
uint16 MaxSkill(EQ::skills::SkillType skill_id, uint8 class_id, uint8 level) const;
|
||||
inline uint16 MaxSkill(EQ::skills::SkillType skill_id) const { return MaxSkill(skill_id, GetClass(), GetLevel()); }
|
||||
uint8 SkillTrainLevel(EQ::skills::SkillType skill_id, uint8 class_id);
|
||||
uint8 GetSkillTrainLevel(EQ::skills::SkillType skill_id, uint8 class_id);
|
||||
void MaxSkills();
|
||||
|
||||
void SendTradeskillSearchResults(const std::string &query, unsigned long objtype, unsigned long someid);
|
||||
|
||||
@@ -1718,7 +1718,7 @@ void Client::OPGMTrainSkill(const EQApplicationPacket *app)
|
||||
|
||||
if (skilllevel == 0) {
|
||||
//this is a new skill..
|
||||
uint16 t_level = SkillTrainLevel(skill, GetClass());
|
||||
uint16 t_level = GetSkillTrainLevel(skill, GetClass());
|
||||
|
||||
if (t_level == 0) {
|
||||
LogSkills("Tried to train a new skill [{}] which is invalid for this race/class.", skill);
|
||||
|
||||
@@ -3375,6 +3375,12 @@ void Lua_Client::ResetLeadershipAA()
|
||||
self->ResetLeadershipAA();
|
||||
}
|
||||
|
||||
uint8 Lua_Client::GetSkillTrainLevel(int skill_id)
|
||||
{
|
||||
Lua_Safe_Call_Int();
|
||||
return self->GetSkillTrainLevel(static_cast<EQ::skills::SkillType>(skill_id), self->GetClass());
|
||||
}
|
||||
|
||||
luabind::scope lua_register_client() {
|
||||
return luabind::class_<Lua_Client, Lua_Mob>("Client")
|
||||
.def(luabind::constructor<>())
|
||||
@@ -3624,6 +3630,7 @@ luabind::scope lua_register_client() {
|
||||
.def("GetScribeableSpells", (luabind::object(Lua_Client::*)(lua_State* L,uint8,uint8))&Lua_Client::GetScribeableSpells)
|
||||
.def("GetScribedSpells", (luabind::object(Lua_Client::*)(lua_State* L))&Lua_Client::GetScribedSpells)
|
||||
.def("GetSkillPoints", (int(Lua_Client::*)(void))&Lua_Client::GetSkillPoints)
|
||||
.def("GetSkillTrainLevel", (uint8(Lua_Client::*)(int))&Lua_Client::GetSkillTrainLevel)
|
||||
.def("GetSpellDamage", (int(Lua_Client::*)(void))&Lua_Client::GetSpellDamage)
|
||||
.def("GetSpellIDByBookSlot", (uint32(Lua_Client::*)(int))&Lua_Client::GetSpellIDByBookSlot)
|
||||
.def("GetSpentAA", (int(Lua_Client::*)(void))&Lua_Client::GetSpentAA)
|
||||
|
||||
@@ -504,6 +504,7 @@ public:
|
||||
bool SetAutoLoginCharacterName(std::string character_name);
|
||||
void DescribeSpecialAbilities(Lua_NPC n);
|
||||
void ResetLeadershipAA();
|
||||
uint8 GetSkillTrainLevel(int skill_id);
|
||||
|
||||
void ApplySpell(int spell_id);
|
||||
void ApplySpell(int spell_id, int duration);
|
||||
|
||||
@@ -3173,6 +3173,11 @@ void Perl_Client_ResetLeadershipAA(Client* self)
|
||||
self->ResetLeadershipAA();
|
||||
}
|
||||
|
||||
uint8 Perl_Client_GetSkillTrainLevel(Client* self, int skill_id)
|
||||
{
|
||||
return self->GetSkillTrainLevel(static_cast<EQ::skills::SkillType>(skill_id), self->GetClass());
|
||||
}
|
||||
|
||||
void perl_register_client()
|
||||
{
|
||||
perl::interpreter perl(PERL_GET_THX);
|
||||
@@ -3431,6 +3436,7 @@ void perl_register_client()
|
||||
package.add("GetTaskActivityDoneCount", &Perl_Client_GetTaskActivityDoneCount);
|
||||
package.add("GetThirst", &Perl_Client_GetThirst);
|
||||
package.add("GetTotalSecondsPlayed", &Perl_Client_GetTotalSecondsPlayed);
|
||||
package.add("GetSkillTrainLevel", &Perl_Client_GetSkillTrainLevel);
|
||||
package.add("GetWeight", &Perl_Client_GetWeight);
|
||||
package.add("GetPEQZoneFlags", &Perl_Client_GetPEQZoneFlags);
|
||||
package.add("GetZoneFlags", &Perl_Client_GetZoneFlags);
|
||||
|
||||
Reference in New Issue
Block a user