From ddb5f583630a60ef683abb4df6eb7d9fcfa6e088 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 26 六月 2019 10:46:34 +0800
Subject: [PATCH] 860312 防范部分扣血逻辑会对高境界BOSS造成大于1的伤害
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
index b3cc67c..c176c7c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1249,6 +1249,8 @@
curObjType = curObj.GetGameObjType()
curSkill = GameWorld.GetGameData().FindSkillByType(skillTypeID, 1)
+ atkObjType = buffOwner.GetGameObjType() if buffOwner else -1
+
# 技能对指定BOSS无效果-----------------
if curObjType == IPY_GameWorld.gotNPC and curObj.GetIsBoss() not in ChConfig.Def_SkillAttack_NPCIsBoss:
if curSkill and GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss:
@@ -1259,6 +1261,12 @@
if curObjHP_BeforeAttack == 0:
# 没有血量不能再触发
return
+
+ if buffOwner:
+ aRealmLV, dRealmLV = AttackCommon.GetPVERealmLVs(buffOwner, curObj, atkObjType, curObjType) # 获取境界
+ if curObjType == IPY_GameWorld.gotNPC and ChConfig.IsGameBoss(curObj) and dRealmLV > aRealmLV:
+ # 攻击高境界的BOSS 伤害固定为1
+ lostValue = 1
if skillAffect:
lostValue = AttackCommon.CalcHurtHPWithBuff(buffOwner, curObj, lostValue, curSkill, tick)
@@ -1310,7 +1318,7 @@
attackerOwner = None
#---根据BUFF主人类型决定是否给攻击者主人仇恨---
- if buffOwner.GetGameObjType() == IPY_GameWorld.gotNPC:
+ if atkObjType == IPY_GameWorld.gotNPC:
attackerOwner = NPCCommon.GetNpcObjOwnerDetail(buffOwner)
#添加仇恨
@@ -1324,7 +1332,7 @@
curNPCControl.AddObjToAngryList(attackerOwner, 1)
# 加伤血
- if buffOwner.GetGameObjType() == IPY_GameWorld.gotNPC:
+ if atkObjType == IPY_GameWorld.gotNPC:
attackerOwner = NPCCommon.GetNpcObjOwnerDetail(buffOwner)
else:
attackerOwner = buffOwner
--
Gitblit v1.8.0