关灯
开启左侧

另外一种WOW_WOTLK单机中配置是否取消疲劳度的代码

  [复制链接]
admin实名认证 发表于 2016-4-24 17:34:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
这个是一套可以再Trinity端中配置是否取消角色疲劳度的一个C++代码。

直接加到Trinity中,。然后你可以通过worldserver.conf配置文件来设置是否开启疲劳设置。。
另外一个代码可以参考这里:http://www.523play.com/forum.php?mod=viewthread&tid=254&fromuid=1



下面是代码


diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entiti
index e12e5ee..b9e7b6d 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -78,6 +78,7 @@
#include "World.h"
#include "WorldPacket.h"
#include "WorldSession.h"
+#include "Config.h"

#define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS)

@@ -1312,9 +1313,12 @@ int32 Player::getMaxTimer(MirrorTimerType timer)
{
     switch (timer)
     {
-        case FATIGUE_TIMER:
-            return MINUTE * IN_MILLISECONDS;
-        case BREATH_TIMER:
+       if(ConfigMgr::GetBoolDefault("fatigue.enabled", true)) // If "fatigue.en
+               {
+                       case FATIGUE_TIMER:
+                               return MINUTE * IN_MILLISECONDS;
+               }
+            case BREATH_TIMER:
         {
             if (!isAlive() || HasAuraType(SPELL_AURA_WATER_BREATHING) || GetSes
                 return DISABLED_MIRROR_TIMER;
@@ -1396,6 +1400,9 @@ void Player::HandleDrowning(uint32 time_diff)
     }

     // In dark water
+       if(ConfigMgr::GetBoolDefault("fatigue.enabled", true)) // If "fatigue.en
+       {
+
     if (m_MirrorTimerFlags & UNDERWARER_INDARKWATER)
     {
         // Fatigue timer not activated - activate it
@@ -1432,7 +1439,7 @@ void Player::HandleDrowning(uint32 time_diff)
         else if (m_MirrorTimerFlagsLast & UNDERWARER_INDARKWATER)
             SendMirrorTimer(FATIGUE_TIMER, DarkWaterTime, m_MirrorTimer[FATIGUE
     }
-
+       }
     if (m_MirrorTimerFlags & (UNDERWATER_INLAVA /*| UNDERWATER_INSLIME*/) && !(
     {
         // Breath timer not activated - activate it
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserv
index bf19240..b81fcbd 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -825,6 +825,13 @@ RecruitAFriend.MaxDifference = 4
DisableWaterBreath = 4

#
+#    Enable or Disable "Fatigue" timer
+#           default = 1 (enabled)
+#                   = 0 (disabled)
+
+fatigue.enabled = 1
+
+#
#    AllFlightPaths
#        Description: Character knows all flight paths (of both factions) after
#        Default:     0 - (Disabled)
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entiti
index e12e5ee..b9e7b6d 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -78,6 +78,7 @@
#include "World.h"
#include "WorldPacket.h"
#include "WorldSession.h"
+#include "Config.h"

#define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS)

@@ -1312,9 +1313,12 @@ int32 Player::getMaxTimer(MirrorTimerType timer)
{
     switch (timer)
     {
-        case FATIGUE_TIMER:
-            return MINUTE * IN_MILLISECONDS;
-        case BREATH_TIMER:
+       if(ConfigMgr::GetBoolDefault("fatigue.enabled", true)) // If "fatigue.en
+               {
+                       case FATIGUE_TIMER:
+                               return MINUTE * IN_MILLISECONDS;
+               }
+            case BREATH_TIMER:
         {
             if (!isAlive() || HasAuraType(SPELL_AURA_WATER_BREATHING) || GetSes
                 return DISABLED_MIRROR_TIMER;
@@ -1396,6 +1400,9 @@ void Player::HandleDrowning(uint32 time_diff)
     }

     // In dark water
+       if(ConfigMgr::GetBoolDefault("fatigue.enabled", true)) // If "fatigue.en
+       {
+
     if (m_MirrorTimerFlags & UNDERWARER_INDARKWATER)
     {
         // Fatigue timer not activated - activate it
@@ -1432,7 +1439,7 @@ void Player::HandleDrowning(uint32 time_diff)
         else if (m_MirrorTimerFlagsLast & UNDERWARER_INDARKWATER)
             SendMirrorTimer(FATIGUE_TIMER, DarkWaterTime, m_MirrorTimer[FATIGUE
     }
-
+       }
     if (m_MirrorTimerFlags & (UNDERWATER_INLAVA /*| UNDERWATER_INSLIME*/) && !(
     {
         // Breath timer not activated - activate it
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserv
index bf19240..b81fcbd 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -825,6 +825,13 @@ RecruitAFriend.MaxDifference = 4
DisableWaterBreath = 4

#
+#    Enable or Disable "Fatigue" timer
+#           default = 1 (enabled)
+#                   = 0 (disabled)
+
+fatigue.enabled = 1
+
+#
#    AllFlightPaths
#        Description: Character knows all flight paths (of both factions) after
#        Default:     0 - (Disabled)



Fatigue Disable禁止疲劳代码下载
游客,如果您要查看本帖隐藏内容请回复



标签:单机
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

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

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

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

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

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

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

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

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

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

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

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

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

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

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