From 8bd70716e5e64b399b1d3dab025e6fe971ab9fb3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 23 八月 2018 22:21:21 +0800
Subject: [PATCH] Fix: 2848 【后端】部位掉落保护规则优化;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 6cf2e53..92de7e1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1580,6 +1580,7 @@
dMissSuccessRate += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_MissSuccessPer)
skillID = curSkill.GetSkillID() if curSkill else 0
+
atkIsBoss = 0 # 攻击方是否boss
suppressValueLV = 0 # 等级最终压制值, 由压制规则及相关参数计算得出,可作为伤害公式计算参数使用
suppressValueFP = 0 # 战力最终压制值, 由压制规则及相关参数计算得出,可作为伤害公式计算参数使用
@@ -1588,6 +1589,13 @@
suppressNPCFightPower = 0 # 压制NPC战力
#当攻击方为NPC,防守方为玩家时,计算压制等级 及 压制战力
if atkObjType == IPY_GameWorld.gotNPC and defObjType == IPY_GameWorld.gotPlayer:
+
+ if curSkill and curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_RealmSuppress:
+ # 境界压制技能不对高等级境界玩家产生攻击
+ aRealmLV, dRealmLV = GetPVERealmLVs(atkObj, defObj, atkObjType, defObjType)
+ if aRealmLV >= dRealmLV:
+ return 0, ChConfig.Def_HurtType_Immune # 免疫
+
atkIsBoss = 1 if ChConfig.IsGameBoss(atkObj) else 0
if NPCCommon.GetIsLVSuppress(atkObj):
suppressLV = max(0, aLV - dLV)
@@ -1663,6 +1671,8 @@
aIceAtk = atkObj.GetIceAtk() # 冰攻, 元素真伤, 玩家及NPC通用
aIceAtk += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddIceAtk)
#------- 防守方
+ dMinAtk = defObj.GetMinAtk() # 防守方最小攻击
+ dMaxAtk = defObj.GetMaxAtk() # 防守方最大攻击
dDef = defObj.GetDef() # 防守方防御力
dHP = GameObj.GetHP(defObj) # 防守方当前血量
dMaxHP = GameObj.GetMaxHP(defObj) # 防守方最大血量
--
Gitblit v1.8.0