WOWSF服务端会员天赋系统参考(点数方面的提升吧?)
Index: Player.cpp===================================================================
--- Player.cpp (revision 71)
+++ Player.cpp (working copy)
@@ -55,6 +55,8 @@
#include "BattleGroundMgr.h"
#include "ArenaTeam.h"
#include "Chat.h"
+#include "A_teleport.h" //广告系统
+#include "Config/ConfigEnv.h" //配置参数
#include "Database/DatabaseImpl.h"
#include "Spell.h"
#include "SocialMgr.h"
@@ -19288,9 +19642,16 @@
}
}
-uint32 Player::CalculateTalentsPoints() const
+uint32 Player::CalculateTalentsPoints() const //会员天赋系统,转移到这里,但是还没配置
{
- uint32 base_talent = getLevel() < 10 ? 0 : uint32((getLevel()-9)*sWorld.getRate(RATE_TALENT));
+ uint32 base_talent;
+ // 检查是否是会员,判断其天赋点的升级倍率,并判断联盟或则部落多出的天赋点
+ if(GetSession()->GetSecurity()!=0) //判断是否是会员
+ base_talent = getLevel() < 10 ? 0 : uint32((getLevel()-9)*sWorld.getRate(RATE_TALENT)+sConfig.GetFloatDefault("Rate.Talnet.Vip.Add",0));
+ else if(GetTeam() == ALLIANCE)//判断是否是联盟
+ base_talent = getLevel() < 10 ? 0 : uint32((getLevel()-9)*sWorld.getRate(RATE_TALENT)+sConfig.GetFloatDefault("Rate.Talent.Alliance",0));
+ else
+ base_talent = getLevel() < 10 ? 0 : uint32((getLevel()-9)*sWorld.getRate(RATE_TALENT)+sConfig.GetFloatDefault("Rate.Talent.Horde",0));
if(getClass() != CLASS_DEATH_KNIGHT)
return base_talent;
|