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