From fcb20c084df8e7f61e01c5b9920875d669aa87ce Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 03 十二月 2018 16:00:12 +0800
Subject: [PATCH] 5186 【测试】【1.3.100起】减少战斗广播量

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 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 004abbd..36ee986 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -310,7 +310,7 @@
 
     #是否需要通知客户端
     isNotify = True if curSkill.GetClientEffectType() != 0 else False
-    addBuff = buffState.AddBuffEx(skillID, tick, isNotify)
+    addBuff = buffState.AddBuff(skillID, tick, False)
     buffIndex = buffState.GetBuffCount()    # buff在管理器中的索引
     if updProcessInterval > 0:
         # 继承上一个buff的循环记录
@@ -370,7 +370,8 @@
     DoAddBuffOver(curObj, curSkill, addBuff, buffOwner, tick)
         
     # 通知客户端
-    buffState.Sync_AddBuffEx()
+    #buffState.Sync_AddBuffEx()
+    PYSync_RefreshBuff(curObj, addBuff, SkillCommon.GetBuffType(curSkill), notifyAll=False)
 
     #检查是否属于刷新BUFF
     #===========================================================================
@@ -907,9 +908,8 @@
     
     return DelBuffBySkillID(curObj, skillID, tick)
 
-def PYSync_RefreshBuff(gameObj, curBuff, buffType):
+def PYSync_RefreshBuff(gameObj, curBuff, buffType, notifyAll=True):
     sendPack = ChNetSendPack.tagObjAddBuff()
-    sendPack
 
     sendPack.ObjType = gameObj.GetGameObjType()
     sendPack.ObjID = gameObj.GetID();
@@ -920,7 +920,9 @@
     sendPack.Value1 = curBuff.GetValue1();
     sendPack.Value2 = curBuff.GetValue2();
     sendPack.Layer = curBuff.GetLayer();
-    gameObj.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength());
-    
+    if notifyAll or gameObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
+        gameObj.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength());
+    else:
+        PlayerControl.PyNotifyAll(gameObj, sendPack, notifySelf=True, notifyCnt=-1)
     
     
\ No newline at end of file

--
Gitblit v1.8.0