From 1df8a52965d43ccc8a1a40ec008f95d22ec485b1 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 27 十一月 2018 20:16:27 +0800
Subject: [PATCH] 5100 【1.3】【后端】仙盟宴会答题数量通知
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 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 3c4b876..b7f7d9f 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
@@ -1503,7 +1503,7 @@
return True
# 攻击时防守方神兵护盾的处理
-def CalcAtkProDef(atkObj, defObj, hurtValue):
+def CalcAtkProDef(atkObj, defObj, hurtValue, curSkill, tick):
if defObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
return hurtValue
@@ -1518,6 +1518,9 @@
PlayerControl.SetProDef(defObj, curProDef - absortValue)
+ # 被动技能触发
+ defObj.SetDict(ChConfig.Def_PlayerKey_GodWeaponBeforeProDef, curProDef)
+ PassiveBuffEffMng.OnPassiveSkillTrigger(defObj, atkObj, curSkill, ChConfig.TriggerType_ProDefValue, tick)
return hurtValue - absortValue
## 计算伤血值
@@ -1567,7 +1570,19 @@
hurtValue, hurtType = CalcHurtHP(atkObj, defObj, curSkill, atkSkillValue, atkSkillPer, tick, orgAtkObj=attacker)
# 优先处理神兵护盾
- hurtValue = CalcAtkProDef(atkObj, defObj, hurtValue)
+ hurtValue = CalcAtkProDef(atkObj, defObj, hurtValue, curSkill, tick)
+
+ # 伤害吸收盾回血型
+ buffManager = defObj.GetBuffState()
+ curEffect, plusValue, skillID = BuffSkill.FindBuffEffectPlusByEffectID(buffManager, ChConfig.Def_Skill_Effect_AbsorbShieldXMZJ)
+ if skillID:
+ absortValue = hurtValue*curEffect.GetEffectValue(0)/ShareDefine.Def_MaxRateValue
+ if absortValue:
+ hurtValue -= absortValue
+ findBuff = SkillCommon.FindBuffByID(defObj, skillID)[0]
+ if findBuff:
+ # 用于回血
+ findBuff.SetValue(int(findBuff.GetValue() + absortValue))
if defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldValue):
# 麒麟护盾吸收伤害,将抵消的伤害存储
--
Gitblit v1.8.0