From 5377176411ab065279e81b97709004c2e3a246c2 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 12 四月 2019 20:57:30 +0800
Subject: [PATCH] 382 前端战斗公式增加法宝增伤,普攻增伤的百分比和固定值

---
 Utility/EnumHelper.cs                                    |    5 ++
 Core/GameEngine/Model/Player/PlayerDatas.cs              |   12 ++++++
 Fight/Actor/Skill/AttackHandler.cs                       |   20 ++++++++++
 Fight/Actor/AI/AI_Npc_200.cs                             |   46 +++++++++++-----------
 Core/GameEngine/Model/Player/Character/PlayerBaseData.cs |    5 ++
 Fight/GameActor/GActorInfo.cs                            |    2 +
 6 files changed, 67 insertions(+), 23 deletions(-)

diff --git a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
index a303bfc..57788a9 100644
--- a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
+++ b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -57,6 +57,11 @@
     public int water;//鐏垫牴灞炴�р�斺�旀按
     public int fire;//鐏垫牴灞炴�р�斺�旂伀
     public int earth;//鐏垫牴灞炴�р�斺�斿湡
+    public int NormalHurt;
+    public int NormalHurtPer;
+    public int FabaoHurt;
+    public int FabaoHurtPer;
+
     public long treasurePotentialSp
     {
         get
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index fa9f40f..a578ac3 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -866,6 +866,18 @@
             case PlayerDataType.CDBPlayerRefresh_Earth:
                 baseData.earth = (int)value;
                 break;
+            case PlayerDataType.CDBPlayerRefresh_NormalHurt:
+                baseData.NormalHurt = (int)value;
+                break;
+            case PlayerDataType.CDBPlayerRefresh_NormalHurtPer:
+                baseData.NormalHurtPer = (int)value;
+                break;
+            case PlayerDataType.CDBPlayerRefresh_FabaoHurt:
+                baseData.FabaoHurt = (int)value;
+                break;
+            case PlayerDataType.CDBPlayerRefresh_FabaoHurtPer:
+                baseData.FabaoHurtPer = (int)value;
+                break;
         }
     }
 
diff --git a/Fight/Actor/AI/AI_Npc_200.cs b/Fight/Actor/AI/AI_Npc_200.cs
index 6d8cd5e..23f3c9e 100644
--- a/Fight/Actor/AI/AI_Npc_200.cs
+++ b/Fight/Actor/AI/AI_Npc_200.cs
@@ -15,6 +15,29 @@
             _Thinking();
         }
 
+        // 鏄惁姝e湪閲婃斁鎶�鑳�
+        if (m_Owner.SkillMgr.CurCastSkill != null)
+        {
+            if (m_Owner.SkillMgr.CurCastSkill.SkillCompelete == false)
+            {
+                if (m_Owner.IsIdle())
+                {
+                    m_Owner.SkillMgr.CurCastSkill.SkillCompelete = true;
+                }
+                return;
+            }
+
+            if (m_Owner.SkillMgr.CurCastSkill.SkillPreparing)
+            {
+                return;
+            }
+
+            if (m_Owner.NextAction == GAStaticDefine.Act_Warn)
+            {
+                return;
+            }
+        }
+
         switch (m_AIStatus)
         {
             case E_AIStatus.Patrol:
@@ -55,29 +78,6 @@
         GA_Hero _hero = PlayerDatas.Instance.hero;
 
         float _dis;
-
-        // 鏄惁姝e湪閲婃斁鎶�鑳�
-        if (m_Owner.SkillMgr.CurCastSkill != null)
-        {
-            if (m_Owner.SkillMgr.CurCastSkill.SkillCompelete == false)
-            {
-                if (m_Owner.IsIdle())
-                {
-                    m_Owner.SkillMgr.CurCastSkill.SkillCompelete = true;
-                }
-                return;
-            }
-
-            if (m_Owner.SkillMgr.CurCastSkill.SkillPreparing)
-            {
-                return;
-            }
-
-            if (m_Owner.NextAction == GAStaticDefine.Act_Warn)
-            {
-                return;
-            }
-        }
 
         switch (atkStep)
         {
diff --git a/Fight/Actor/Skill/AttackHandler.cs b/Fight/Actor/Skill/AttackHandler.cs
index b8b8a7a..66afd4e 100644
--- a/Fight/Actor/Skill/AttackHandler.cs
+++ b/Fight/Actor/Skill/AttackHandler.cs
@@ -190,6 +190,14 @@
                 }
                 else
                 {
+                    if (attacker is GA_NpcClientFightNorm)
+                    {
+                        if (target.ActorInfo.RealHp <= (target.ActorInfo.RealMaxHp * .5f))
+                        {
+                            hurtValue = 0;
+                        }
+                    }
+
                     target.ActorInfo.ReduceHp((uint)hurtValue);
 
                     if (target.ServerInstID == PlayerDatas.Instance.baseData.PlayerID)
@@ -362,6 +370,18 @@
         _aAtkSkillPer = _effectValue.value1;
         _atkSkillValue = _effectValue.value2;// 鎶�鑳藉浐瀹氬��(1010鎴栬��1009鐨剉alue2)
 
+        if (skill.skillInfo.config.FuncType == 1
+         || skill.skillInfo.config.FuncType == 2)
+        {
+            _atkSkillValue += PlayerDatas.Instance.baseData.FabaoHurt;
+            _aAtkSkillPer += PlayerDatas.Instance.baseData.FabaoHurtPer;
+        }
+        else if (skill.skillInfo.config.FuncType == 8)
+        {
+            _atkSkillValue += PlayerDatas.Instance.baseData.NormalHurt;
+            _aAtkSkillPer += PlayerDatas.Instance.baseData.NormalHurtPer;
+        }
+
         #endregion
 
         #region 浼ゅ琛板噺鎴栬�呴�掑
diff --git a/Fight/GameActor/GActorInfo.cs b/Fight/GameActor/GActorInfo.cs
index 8975467..bbcda35 100644
--- a/Fight/GameActor/GActorInfo.cs
+++ b/Fight/GameActor/GActorInfo.cs
@@ -223,6 +223,7 @@
             else
             {
                 if (!ClientDungeonStageUtility.isClientDungeon
+                 && !ClientSceneManager.Instance.IsClientFightMode
 #if UNITY_EDITOR
          && !RuntimeLogUtility.TEST_CLIENT_PVP
 #endif
@@ -251,6 +252,7 @@
 
         // 濡傛灉澶勪簬瀹㈡埛绔垬鏂楀垯涓嶈繘琛岃閲忕煫姝d簡
         if (!ClientDungeonStageUtility.isClientDungeon
+         && !ClientSceneManager.Instance.IsClientFightMode
 #if UNITY_EDITOR
          && !RuntimeLogUtility.TEST_CLIENT_PVP
 #endif
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index ff0f0db..d33854b 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -558,6 +558,11 @@
     CDBPlayerRefresh_Water = 203,//# 鐏垫牴灞炴��-姘�
     CDBPlayerRefresh_Fire = 204,//# 鐏垫牴灞炴��-鐏�
     CDBPlayerRefresh_Earth = 205,//# 鐏垫牴灞炴��-鍦�
+    CDBPlayerRefresh_NormalHurt = 206,// # 灞炴�ф櫘閫氭敾鍑诲浼わ細鏅�氭敾鍑婚檮鍔犵殑鍥哄畾鍊间激瀹� 
+    CDBPlayerRefresh_NormalHurtPer = 207,// # 灞炴�ф櫘閫氭敾鍑诲浼わ細鏅�氭敾鍑婚檮鍔犵殑鍥哄畾鍊间激瀹� 
+    CDBPlayerRefresh_FabaoHurt = 208,// # 灞炴�ф櫘閫氭敾鍑诲浼わ細鏅�氭敾鍑婚檮鍔犵殑鍥哄畾鍊间激瀹� 
+    CDBPlayerRefresh_FabaoHurtPer = 209,// # 灞炴�ф櫘閫氭敾鍑诲浼わ細鏅�氭敾鍑婚檮鍔犵殑鍥哄畾鍊间激瀹� 
+
 };
 
 /** 鑳屽寘绫诲瀷鐮佸畾涔� */

--
Gitblit v1.8.0