From 5fad96c186ea82bf6aa105824023fc1077ce64cd Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 16 二月 2019 16:25:46 +0800
Subject: [PATCH] 6197 【前端】【1.6】跨服匹配添加机器人

---
 Fight/Actor/Skill/AttackHandler.cs |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/Fight/Actor/Skill/AttackHandler.cs b/Fight/Actor/Skill/AttackHandler.cs
index be19fee..43b7f7c 100644
--- a/Fight/Actor/Skill/AttackHandler.cs
+++ b/Fight/Actor/Skill/AttackHandler.cs
@@ -196,6 +196,18 @@
                     {
                         PlayerDatas.Instance.FightRefreshPlayerHp((uint)target.ActorInfo.RealHp);
                     }
+
+                    if (ClientDungeonStageUtility.isClientDungeon
+#if UNITY_EDITOR
+                    || RuntimeLogUtility.TEST_CLIENT_PVP
+#endif
+                    )
+                    {
+                        if (target.ServerInstID == PlayerDatas.Instance.PlayerId && target.ActorInfo.RealHp == 0)
+                        {
+                            GA_PVPClientPlayer.Result(false);
+                        }
+                    }
                 }
 
                 if (target.ServerInstID == PlayerDatas.Instance.PlayerId)
@@ -376,18 +388,23 @@
         // -------------- 鎸囧畾鏀诲嚮鏂瑰睘鎬� --------------
         if (attacker.ActorType == GameObjType.gotPlayer)
         {
+            float _rate = 1f;
+            if (attacker is GA_PVPClientPlayer)
+            {
+                _rate = GeneralDefine.ClientPvpAttributePer;
+            }
             _hitRate = PlayerDatas.Instance.extersion.HIT;
             _aSuperHitRate = PlayerDatas.Instance.extersion.SuperHitRate;
             _aLuckyHitRate = PlayerDatas.Instance.extersion.luckHitRate;
             _aZhuxianHurtPer = PlayerDatas.Instance.extersion.zhuxianHurtPer;
             _aZhuXianHitRate = PlayerDatas.Instance.extersion.zhuxianRate;
-            _aMaxAtk = PlayerDatas.Instance.extersion.MAXATK;
-            _aMinAtk = PlayerDatas.Instance.extersion.MINATK;
+            _aMaxAtk = (int)(PlayerDatas.Instance.extersion.MAXATK * _rate);
+            _aMinAtk = (int)(PlayerDatas.Instance.extersion.MINATK * _rate);
             _aIgnoreDefRate = PlayerDatas.Instance.extersion.IgnoreDefRate;
             _aSkillAtkRate = PlayerDatas.Instance.extersion.SkillAtkRate;
             _aDamagePer = PlayerDatas.Instance.extersion.DamagePer;
-            _aFinalHurt = PlayerDatas.Instance.extersion.FinalHurt;
-            _aIceAtk = PlayerDatas.Instance.extersion.realATK;
+            _aFinalHurt = (int)(PlayerDatas.Instance.extersion.FinalHurt);
+            _aIceAtk = (int)(PlayerDatas.Instance.extersion.realATK * _rate);
             _aOnlyFinalHurt = PlayerDatas.Instance.extersion.OnlyFinalHurt;
             _luckyHit = PlayerDatas.Instance.extersion.luckHitVal;
             _superHit = PlayerDatas.Instance.extersion.SuperHit;
@@ -507,7 +524,7 @@
 
         // PVE
         if (attacker.ActorType == GameObjType.gotPlayer
-         && target.ActorType == GameObjType.gotNPC)
+         && (target.ActorType == GameObjType.gotNPC || target is GA_PVPClientPlayer))
         {
             //"PVE_1"	:"int(max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))
             //            -dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))
@@ -649,8 +666,8 @@
 #endif
         }
         // EVP
-        else if (attacker.ActorType == GameObjType.gotNPC
-              && target.ActorType == GameObjType.gotPlayer)
+        else if ((attacker.ActorType == GameObjType.gotNPC
+              && target.ActorType == GameObjType.gotPlayer) || attacker is GA_PVPClientPlayer)
         {
             // "EVP_1"	:"max((max((aMinAtk+aMaxAtk)/2.0-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt-dFinalHurtReduce, 0)+atkSkillValue,1)"
 

--
Gitblit v1.8.0