From 5935976ab8304b49a5ec949201148aae6d5ca5f1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 08 十二月 2018 11:05:31 +0800
Subject: [PATCH] 5319 【后端】【1.3】【1.3.100】蜗皇助战npc伤害修改(修复副本战力bug)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 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 16ce277..52a495c 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
@@ -99,6 +99,13 @@
coolDownTime = curSkill.GetCoolDownTime()
remainTime = coolDownTime
if isPassiveSkill(curSkill):
+ if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
+ # 天赋有减CD效果
+ reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_GiftReduceCD)
+ # 减CD比率
+ if reduceSkillCDPer > 0:
+ remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
+
# 被动技能的处理和主动技能区分
curSkill.SetRemainTime(remainTime)
return
@@ -108,7 +115,6 @@
# remainTime = skillData.GetCoolDownTime()
reduceSkillCDPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, None, curSkill, ChConfig.TriggerType_ReduceCD)
-
# 减CD比率
if reduceSkillCDPer > 0:
remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
@@ -1200,6 +1206,11 @@
GameWorld.Log('###技能伤害血量异常,数值错误 = %s,技能类型ID = %s' % (lostValue, skillTypeID))
return
+ if not curObj.GetCanAttack():
+ # 无敌不掉血
+ ## 后续有其他情况也应考虑进来,如镖车是否某状态不掉血
+ return
+
#lostValue = GetGoblinLostHP(curObj, lostValue)
curObjType = curObj.GetGameObjType()
curSkill = GameWorld.GetGameData().FindSkillByType(skillTypeID, 1)
@@ -1213,8 +1224,8 @@
curObjHP_BeforeAttack = GameObj.GetHP(curObj)
if reduceHP :
+ lostValue = AttackCommon.CalcAtkProDef(buffOwner, curObj, lostValue, curSkill, tick)
# 血盾
-
lostValue = AttackCommon.CalcBloodShield(buffOwner, curObj, lostValue)
#剩余血量
@@ -1246,7 +1257,7 @@
#无法找到Buff拥有者
if not buffOwner:
- AttackCommon.DoLogic_ObjDead(curObj)
+ AttackCommon.DoLogic_ObjDead(None, curObj, curSkill, tick)
return
#NPC需要手动添加伤血和仇恨, 因为无调用DoAttack
--
Gitblit v1.8.0