From 31779da0ff5baba545b421e791a3a22a5b4fdf73 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 29 三月 2019 19:56:23 +0800
Subject: [PATCH] 2666 【1.4】boss攻击间隔配置3000毫秒。实际间隔为4s左右

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 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 2be3515..56f7b96 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
@@ -1320,7 +1320,7 @@
                   ChConfig.Def_HurtType_LuckyHit:lambda aObj, dObj, hState:__HurtTypeHappen_LuckyHit(aObj, dObj, hState),
                   ChConfig.Def_HurtType_SuperHit:lambda aObj, dObj, hState:__HurtTypeHappen_SuperHit(aObj, dObj, hState),
                   ChConfig.Def_HurtType_Parry:lambda aObj, dObj, hState:__HurtTypeHappen_Parry(aObj, dObj, hState),
-                  ChConfig.Def_HurtType_Zhuxian:lambda aObj, dObj, hState:__HurtTypeHappen_Zhuxian(aObj, dObj, hState),
+                  #ChConfig.Def_HurtType_Zhuxian:lambda aObj, dObj, hState:__HurtTypeHappen_Zhuxian(aObj, dObj, hState),
                   }
     
     hadCheckList = [] # 已经处理过的伤害类型列表
@@ -1328,7 +1328,7 @@
     for mutexHurtTypeList in mutexList:
         curMHHappen = False # 当前互斥列表是否有触发的
         for hType in mutexHurtTypeList:
-            if hType not in calcTypeList:
+            if hType not in calcTypeList or hType not in happenFunc:
                 continue
             if hType in hadCheckList:
                 continue
@@ -1344,7 +1344,7 @@
             
     # 再算优先级列表里
     for hType in priorityList:
-        if hType not in calcTypeList:
+        if hType not in calcTypeList or hType not in happenFunc:
             continue
         if hType not in hadCheckList:
             hadCheckList.append(hType)
@@ -1407,15 +1407,15 @@
         return True, 0, chanceDefPer
     return
 
-def __HurtTypeHappen_Zhuxian(atkObj, defObj, happenState):
-    """诛仙一击"""
-    rate = PlayerControl.GetZhuXianRate(atkObj)
-    if not rate:
-        return
-    
-    if GameWorld.CanHappen(rate):
-        return True, PlayerControl.GetZhuXianHurtPer(atkObj), 0
-    return
+#def __HurtTypeHappen_Zhuxian(atkObj, defObj, happenState):
+#    """诛仙一击"""
+#    rate = PlayerControl.GetZhuXianRate(atkObj)
+#    if not rate:
+#        return
+#    
+#    if GameWorld.CanHappen(rate):
+#        return True, PlayerControl.GetZhuXianHurtPer(atkObj), 0
+#    return
 
 
 def ChangeSkillHurtPer(atkObj, defObj, curSkill, skillPer):
@@ -1761,17 +1761,14 @@
                 # 用于回血
                 findBuff.SetValue(int(findBuff.GetValue() + absortValue))
 
+    if defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbValue):
+        defObj.SetDict(ChConfig.Def_PlayerKey_AbsorbValue, 0) #吸收的单次伤害,单次伤害必须清空
     if defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldValue):
         # 麒麟护盾吸收伤害,将抵消的伤害存储
         absortValue = int(defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldValue)/float(ShareDefine.Def_MaxRateValue)*hurtValue)   
         hurtValue -= absortValue
+        defObj.SetDict(ChConfig.Def_PlayerKey_AbsorbValue, absortValue) #吸收的单次伤害
         
-        # 吸收至指定血量比例值
-        absorbHurt = defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShield)
-        if absorbHurt <= defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldMax):
-            maxValue = min(absorbHurt + absortValue, defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldMax))
-            defObj.SetDict(ChConfig.Def_PlayerKey_AbsorbShield, maxValue)    # 记录护盾吸收的伤害用于爆炸
-
     # 天罡护法,将期间受到的伤害总值用于回血,不改变伤害
     curEffect, plusValue, skillID2 = BuffSkill.FindBuffEffectPlusByEffectID(buffManager, ChConfig.Def_Skill_Effect_StoreBlood)
     if skillID2:
@@ -2557,12 +2554,6 @@
     
     if GetIsNewGuy(tagPlayer):
         return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_NotAttackNewGuy
-      
-    #攻守双方同一队伍,不可PK,可加增益buff
-    #if curPlayerAreaType not in [ShareDefine.gatManor] and CanAlikeTeam(curPlayer, tagPlayer):
-    #    #副本队友特殊判断
-    #    if not PlayerCanAttackTeamerInFB(curPlayer, tagPlayer): 
-    #        return ChConfig.Type_Relation_Friend , ChConfig.Def_PASysMessage_NotAttackTeam
         
     #恶意攻击的玩家默认都是敌人, 无论什么模式
     if IsMaliciousAttackPlayer(curPlayer, tagPlayer):

--
Gitblit v1.8.0