AzerothCore335 DK天赋点数bug修复
- 游戏信息
- 发布时间:2025-05-08 09:28:59

搭建好服务后,登录发现新建DK角色等级为55级,但是天赋点数为0,自此开启了修bug模式,以下分享bug解决思路:
1、天赋英文Talent,同时天赋为玩家相关的内容,立马全局搜索之。成功找到Player.h文件同时看到了一个CalculateTalentsPoints()的函数,于是打开Player.cpp文件。
2、仔细查看CalculateTalentsPoints()函数代码,果不其然,找到以下代码:
从代码中看到GetLevel明显是获取等级的函数,后面函数看不懂?没关系,就当看图说话“uint32 base_talent = GetLevel() < 10 ? 0 : GetLevel() - 9;”
其中小于10 后面跟着0,是不是有点像10级后才开启天赋。当大于等于10的时候天赋点数=当前玩家等级 - 9。
继续往下看 CLASS_DEATH_KNIGHT意思是DK死亡骑士,死亡骑士出生等级55级,当小于56级时天赋点数应该等于55-9,而非0。自此bug找到了
3、开始修复工作,无论何职业、是何等级天赋点数的算法都是 talentPointsForLevel = GetLevel() < 10 ? 0 : GetLevel() - 9; 于是修改后的代码: