diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-12-04 19:42:12 +0100 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2023-12-05 20:50:49 +0100 |
commit | 10544e4406858c79710ad12069ad35e0917823c8 (patch) | |
tree | cd734c943982c4fc21914201d4e29e5012098ab2 /src/server/game/Globals/ObjectMgr.cpp | |
parent | ecf714e93cff000683512e1d18c678e25200c60e (diff) |
Core/Players: Learn parent skilllines if they are missing while learning child skills
Closes #29482
(cherry picked from commit 9022f2374884b966c3ecf7199c52498140775668)
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 6945f283f7d..f4f3b539681 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7883,6 +7883,23 @@ int32 ObjectMgr::GetFishingBaseSkillLevel(AreaTableEntry const* areaEntry) const return 0; } +SkillTiersEntry const* ObjectMgr::GetSkillTier(uint32 skillTierId) const +{ + auto itr = _skillTiers.find(skillTierId); + return itr != _skillTiers.end() ? &itr->second : nullptr; +} + +uint32 SkillTiersEntry::GetValueForTierIndex(uint32 tierIndex) const +{ + if (tierIndex >= MAX_SKILL_STEP) + tierIndex = MAX_SKILL_STEP - 1; + + while (Value[tierIndex] == 0 && tierIndex > 0) + --tierIndex; + + return Value[tierIndex]; +} + void ObjectMgr::LoadPetNames() { uint32 oldMSTime = getMSTime(); |