From 59f7d8df0f2fe1b60342826b5e76203f732fda72 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 01 三月 2021 10:47:41 +0800
Subject: [PATCH] 4906 【主干】【BT】【BT2】【BTZF】【gt_1.100.4】跨服地图报错查看(防范通知buff报错,调整通知顺序,验证对象属性);

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
index 9c6ac87..857fc27 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -381,15 +381,14 @@
             continue
         passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curObj)
         passiveEff.AddBuffInfoByEffect(curEffect, skillID, onwerID, onwerType)
-
-        
-    #添加BUFF后的特殊处理
-    DoAddBuffOver(curObj, curSkill, addBuff, buffOwner, tick)
         
     # 通知客户端
     #buffState.Sync_AddBuffEx()
     if isNotify:
         PYSync_RefreshBuff(curObj, addBuff, SkillCommon.GetBuffType(curSkill), notifyAll=False, owner = buffOwner)
+        
+    #添加BUFF后的特殊处理
+    DoAddBuffOver(curObj, curSkill, addBuff, buffOwner, tick)
 
     #检查是否属于刷新BUFF
     #===========================================================================
@@ -1004,11 +1003,17 @@
     sendPack = ChNetSendPack.tagObjAddBuff()
     if not curBuff:
         return
+    if not hasattr(curBuff, "GetSkill"):
+        return
+    curSkill = curBuff.GetSkill()
+    if not curSkill or not hasattr(curSkill, "GetSkillID"):
+        return
+    skillID = curSkill.GetSkillID()
     if GameObj.GetHP(gameObj) <= 0 or AttackCommon.GetIsDead(gameObj):
         return
     sendPack.ObjType = gameObj.GetGameObjType()
     sendPack.ObjID = gameObj.GetID();
-    sendPack.SkillID = curBuff.GetSkill().GetSkillID();
+    sendPack.SkillID = skillID;
     sendPack.LastTime = curBuff.GetRemainTime();
     sendPack.BuffType = buffType;
     sendPack.Value = curBuff.GetValue();

--
Gitblit v1.8.0