关灯
开启左侧

WOTLK版本之前的天赋倍率控制代码

  [复制链接]
admin实名认证 发表于 2016-4-18 22:33:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
Index: Player.cpp===================================================================
--- Player.cpp        (revision 573)
+++ Player.cpp        (working copy)
@@ -21339,26 +21350,30 @@
     uint32 base_talent = getLevel() < 10 ? 0 : getLevel()-9;

        uint32 mGmlevel = GetSession()->GetSecurity();
+        uint32 VipTalentPoint;
+        if(mGmlevel > 0 && sConfig.GetIntDefault("Vip.Player.On.Off", 0) == 1 )  //判断是否是会员
+                VipTalentPoint = sObjectMgr.GetTalentVipAdd(mGmlevel);
+        else
+                VipTalentPoint = 0;
+
     if(getClass() != CLASS_DEATH_KNIGHT)
        {
-                if(mGmlevel > 0 && sConfig.GetIntDefault("Vip.Player.On.Off", 0) == 1 )  //判断是否是会员
-        return uint32(base_talent * sWorld.getRate(RATE_TALENT)+sObjectMgr.GetTalentVipAdd(mGmlevel));//会员天赋系统(player_vip_template)
-                else if(GetTeam() == ALLIANCE)//判断是否是联盟
-        return uint32(base_talent * sWorld.getRate(RATE_TALENT)+sConfig.GetFloatDefault("Rate.Talent.Alliance",0));
+                if(GetTeam() == ALLIANCE)//判断是否是联盟
+        return uint32(base_talent * sWorld.getRate(RATE_TALENT) + sConfig.GetFloatDefault("Rate.Talent.Alliance",0) + VipTalentPoint);
                else
-        return uint32(base_talent * sWorld.getRate(RATE_TALENT)+sConfig.GetFloatDefault("Rate.Talent.Horde",0));
+        return uint32(base_talent * sWorld.getRate(RATE_TALENT) + sConfig.GetFloatDefault("Rate.Talent.Horde",0) + VipTalentPoint);
        }

     uint32 talentPointsForLevel = getLevel() < 56 ? 0 : getLevel() - 55;
     talentPointsForLevel += m_questRewardTalentCount + sConfig.GetIntDefault("Rate.Talent.Death.Knight",0);
-    if (mGmlevel > 0 && sConfig.GetIntDefault("Vip.Player.On.Off", 0) == 1 )//独立死亡骑士的VIP天赋
-    {
-                talentPointsForLevel += sObjectMgr.GetTalentVipAdd(mGmlevel);
-    }
+       
+        talentPointsForLevel += VipTalentPoint;
+   
+        uint32 base_talent_DK = base_talent + sConfig.GetIntDefault("Rate.Talent.Death.Knight",0);
+        base_talent_DK += VipTalentPoint;
+    if(talentPointsForLevel > base_talent_DK)
+        talentPointsForLevel = base_talent_DK;

-    if(talentPointsForLevel > base_talent)
-        talentPointsForLevel = base_talent;
-
     return uint32(talentPointsForLevel * sWorld.getRate(RATE_TALENT));
}

 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地