From 69be13fbdb796c5a6cdc49fe4ed358d22f1edcb1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 七月 2024 11:20:42 +0800
Subject: [PATCH] 10215 10213 【越南】【主干】【港台】【砍树】古宝升星效果与古宝共鸣(去除古宝共鸣手动激活流程)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py |  105 +++---------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini                |    6 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py        |   52 ------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py    |  108 -------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py      |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Gubao.py  |   22 --
 PySysDB/PySysDBPY.h                                                                       |    2 
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py                             |   52 ------
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py                         |  108 -------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py           |    1 
 10 files changed, 30 insertions(+), 428 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 7299ac6..171b205 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -510,7 +510,7 @@
 struct tagGubaoResonanceAttr
 {
 	WORD		_ResonanceID;	//共鸣ID
-	BYTE		_ResonanceStar;	//共鸣星级
+	BYTE		ResonanceStar;	//共鸣星级
 	list		ResonanceAttrIDList;	//共鸣总属性ID列表
 	list		ResonanceAttrValueList;	//共鸣总属性值列表
 };
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 4366091..cb3d74e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -18925,58 +18925,6 @@
 
 
 #------------------------------------------------------
-# B2 15 古宝共鸣激活 #tagCMGubaoResonanceActivate
-
-class  tagCMGubaoResonanceActivate(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("Cmd", c_ubyte),
-                  ("SubCmd", c_ubyte),
-                  ("ResonanceID", c_ushort),    # 共鸣ID
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        self.Cmd = 0xB2
-        self.SubCmd = 0x15
-        return
-
-    def ReadData(self, stringData, _pos=0, _len=0):
-        self.Clear()
-        memmove(addressof(self), stringData[_pos:], self.GetLength())
-        return _pos + self.GetLength()
-
-    def Clear(self):
-        self.Cmd = 0xB2
-        self.SubCmd = 0x15
-        self.ResonanceID = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagCMGubaoResonanceActivate)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// B2 15 古宝共鸣激活 //tagCMGubaoResonanceActivate:
-                                Cmd:%s,
-                                SubCmd:%s,
-                                ResonanceID:%d
-                                '''\
-                                %(
-                                self.Cmd,
-                                self.SubCmd,
-                                self.ResonanceID
-                                )
-        return DumpString
-
-
-m_NAtagCMGubaoResonanceActivate=tagCMGubaoResonanceActivate()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoResonanceActivate.Cmd,m_NAtagCMGubaoResonanceActivate.SubCmd))] = m_NAtagCMGubaoResonanceActivate
-
-
-#------------------------------------------------------
 # B2 17 古宝升星 #tagCMGubaoStarUp
 
 class  tagCMGubaoStarUp(Structure):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 5d17e1a..e4de1b3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -23117,114 +23117,6 @@
 
 
 #------------------------------------------------------
-# A3 CF 古宝共鸣信息 #tagMCGubaoResonanceInfo
-
-class  tagMCGubaoResonance(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("ResonanceID", c_ushort),    # 共鸣ID
-                  ("ResonanceStar", c_ubyte),    # 已激活共鸣星级
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, stringData, _pos=0, _len=0):
-        self.Clear()
-        memmove(addressof(self), stringData[_pos:], self.GetLength())
-        return _pos + self.GetLength()
-
-    def Clear(self):
-        self.ResonanceID = 0
-        self.ResonanceStar = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCGubaoResonance)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A3 CF 古宝共鸣信息 //tagMCGubaoResonanceInfo:
-                                ResonanceID:%d,
-                                ResonanceStar:%d
-                                '''\
-                                %(
-                                self.ResonanceID,
-                                self.ResonanceStar
-                                )
-        return DumpString
-
-
-class  tagMCGubaoResonanceInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(BYTE Count)
-    ResonanceInfoList = list()    #(vector<tagMCGubaoResonance> ResonanceInfoList)
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCF
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temResonanceInfoList = tagMCGubaoResonance()
-            _pos = temResonanceInfoList.ReadData(_lpData, _pos)
-            self.ResonanceInfoList.append(temResonanceInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCF
-        self.Count = 0
-        self.ResonanceInfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Count):
-            length += self.ResonanceInfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.ResonanceInfoList[i].GetLength(), self.ResonanceInfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                ResonanceInfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCGubaoResonanceInfo=tagMCGubaoResonanceInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGubaoResonanceInfo.Head.Cmd,m_NAtagMCGubaoResonanceInfo.Head.SubCmd))] = m_NAtagMCGubaoResonanceInfo
-
-
-#------------------------------------------------------
 # A3 28 历史累积充值奖励领取记录 #tagMCHistoryReChargeAwardRecord
 
 class  tagMCHistoryReChargeAwardRecord(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 6377b28..497e379 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1847,7 +1847,7 @@
 Writer = hxp
 Releaser = hxp
 RegType = 0
-RegisterPackCount = 4
+RegisterPackCount = 3
 
 PacketCMD_1=0xB2
 PacketSubCMD_1=0x16
@@ -1860,10 +1860,6 @@
 PacketCMD_3=0xB2
 PacketSubCMD_3=0x18
 PacketCallFunc_3=OnGubaoLVUp
-
-PacketCMD_4=0xB2
-PacketSubCMD_4=0x15
-PacketCallFunc_4=OnGubaoResonanceActivate
 
 ;神通
 [PlayerShentong]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 2f70399..45bf994 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4451,7 +4451,6 @@
 Def_PDict_GubaoLVInfo = "GubaoLVInfo_%s"  # 古宝等级信息,参数(古宝ID),等级*100+星级
 Def_PDict_GubaoItemEffValue = "GubaoItemEffValue_%s_%s"  # 古宝效果物品进度,参数(古宝ID, 效果类型)
 Def_PDict_GubaoPiece  = "GubaoPiece_%s"  # 古宝碎片数,参数(古宝ID)
-Def_PDict_GubaoResonanceStar  = "GubaoResonanceStar_%s"  # 古宝共鸣,参数(共鸣ID)
 
 #神通
 Def_PDict_ShentongLVInfo = "ShentongLVInfo_%s"  # 神通等级信息,参数(神通ID),阶级*100+等级
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 4366091..cb3d74e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -18925,58 +18925,6 @@
 
 
 #------------------------------------------------------
-# B2 15 古宝共鸣激活 #tagCMGubaoResonanceActivate
-
-class  tagCMGubaoResonanceActivate(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("Cmd", c_ubyte),
-                  ("SubCmd", c_ubyte),
-                  ("ResonanceID", c_ushort),    # 共鸣ID
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        self.Cmd = 0xB2
-        self.SubCmd = 0x15
-        return
-
-    def ReadData(self, stringData, _pos=0, _len=0):
-        self.Clear()
-        memmove(addressof(self), stringData[_pos:], self.GetLength())
-        return _pos + self.GetLength()
-
-    def Clear(self):
-        self.Cmd = 0xB2
-        self.SubCmd = 0x15
-        self.ResonanceID = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagCMGubaoResonanceActivate)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// B2 15 古宝共鸣激活 //tagCMGubaoResonanceActivate:
-                                Cmd:%s,
-                                SubCmd:%s,
-                                ResonanceID:%d
-                                '''\
-                                %(
-                                self.Cmd,
-                                self.SubCmd,
-                                self.ResonanceID
-                                )
-        return DumpString
-
-
-m_NAtagCMGubaoResonanceActivate=tagCMGubaoResonanceActivate()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoResonanceActivate.Cmd,m_NAtagCMGubaoResonanceActivate.SubCmd))] = m_NAtagCMGubaoResonanceActivate
-
-
-#------------------------------------------------------
 # B2 17 古宝升星 #tagCMGubaoStarUp
 
 class  tagCMGubaoStarUp(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 5d17e1a..e4de1b3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -23117,114 +23117,6 @@
 
 
 #------------------------------------------------------
-# A3 CF 古宝共鸣信息 #tagMCGubaoResonanceInfo
-
-class  tagMCGubaoResonance(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("ResonanceID", c_ushort),    # 共鸣ID
-                  ("ResonanceStar", c_ubyte),    # 已激活共鸣星级
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, stringData, _pos=0, _len=0):
-        self.Clear()
-        memmove(addressof(self), stringData[_pos:], self.GetLength())
-        return _pos + self.GetLength()
-
-    def Clear(self):
-        self.ResonanceID = 0
-        self.ResonanceStar = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCGubaoResonance)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A3 CF 古宝共鸣信息 //tagMCGubaoResonanceInfo:
-                                ResonanceID:%d,
-                                ResonanceStar:%d
-                                '''\
-                                %(
-                                self.ResonanceID,
-                                self.ResonanceStar
-                                )
-        return DumpString
-
-
-class  tagMCGubaoResonanceInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(BYTE Count)
-    ResonanceInfoList = list()    #(vector<tagMCGubaoResonance> ResonanceInfoList)
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCF
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temResonanceInfoList = tagMCGubaoResonance()
-            _pos = temResonanceInfoList.ReadData(_lpData, _pos)
-            self.ResonanceInfoList.append(temResonanceInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCF
-        self.Count = 0
-        self.ResonanceInfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Count):
-            length += self.ResonanceInfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.ResonanceInfoList[i].GetLength(), self.ResonanceInfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                ResonanceInfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCGubaoResonanceInfo=tagMCGubaoResonanceInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGubaoResonanceInfo.Head.Cmd,m_NAtagMCGubaoResonanceInfo.Head.SubCmd))] = m_NAtagMCGubaoResonanceInfo
-
-
-#------------------------------------------------------
 # A3 28 历史累积充值奖励领取记录 #tagMCHistoryReChargeAwardRecord
 
 class  tagMCHistoryReChargeAwardRecord(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Gubao.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Gubao.py
index 3af02e1..afa6fae 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Gubao.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Gubao.py
@@ -35,7 +35,6 @@
         GameWorld.DebugAnswer(curPlayer, "重置古宝: Gubao 0")
         GameWorld.DebugAnswer(curPlayer, "设置古宝: Gubao 古宝ID 等级 星级")
         GameWorld.DebugAnswer(curPlayer, "设置效果: Gubao e 古宝ID 效果类型  进度值")
-        GameWorld.DebugAnswer(curPlayer, "设置共鸣: Gubao r 共鸣ID 共鸣星级")
         return
     
     gubaoIDList = []
@@ -60,29 +59,8 @@
                     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0)
                     
             PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, force=True)
-            
-            resonanceIDList = []
-            for index in range(ipyDataMgr.GetGubaoResonanceCount()):
-                ipyData = ipyDataMgr.GetGubaoResonanceByIndex(index)
-                resonanceID = ipyData.GetResonanceID()
-                if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoResonanceStar % resonanceID):
-                    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoResonanceStar % resonanceID, 0)
-                    resonanceIDList.append(resonanceID)
-            PlayerGubao.Sync_GubaoResonanceInfo(curPlayer, resonanceIDList)
-            
             GameWorld.DebugAnswer(curPlayer, "重置古宝OK")
             
-    elif value1 == "r":
-        resonanceID = msgList[1] if len(msgList) > 1 else 0
-        resonanceStar = msgList[2] if len(msgList) > 2 else 0
-        if resonanceStar != 0:
-            ipyData = IpyGameDataPY.GetIpyGameData("GubaoResonanceAttr", resonanceID, resonanceStar)
-            if not ipyData:
-                GameWorld.DebugAnswer(curPlayer, "不存在该古宝共鸣!ID=%s,star=%s" % (resonanceID, resonanceStar))
-                return
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoResonanceStar % resonanceID, resonanceStar)
-        PlayerGubao.Sync_GubaoResonanceInfo(curPlayer, [resonanceID])
-        
     elif len(msgList) == 3:
         gubaoID, lv, star = msgList
         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 76fbc2a..ea31853 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -415,7 +415,7 @@
 
                 "GubaoResonanceAttr":(
                         ("WORD", "ResonanceID", 1),
-                        ("BYTE", "ResonanceStar", 1),
+                        ("BYTE", "ResonanceStar", 0),
                         ("list", "ResonanceAttrIDList", 0),
                         ("list", "ResonanceAttrValueList", 0),
                         ),
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
index 69a3e64..2c30d14 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
@@ -70,7 +70,6 @@
     Sync_GubaoInfo(curPlayer)
     Sync_GubaoItemEffInfo(curPlayer)
     Sync_GubaoPieceInfo(curPlayer)
-    Sync_GubaoResonanceInfo(curPlayer)
     return
 
 def AddGubaoPiece(curPlayer, gubaoID, addCount, useItemID):
@@ -110,49 +109,6 @@
     GameWorld.DebugLog("转化古宝功能所需物品: needItemList=%s,realNeedItemList=%s,needPieceInfo=%s" 
                        % (needItemList, realNeedItemList, needPieceInfo), curPlayer.GetPlayerID())
     return needPieceInfo, realNeedItemList
-
-#// B2 15 古宝共鸣激活 #tagCMGubaoResonanceActivate
-#
-#struct    tagCMGubaoResonanceActivate
-#{
-#    tagHead         Head;
-#    WORD        ResonanceID;    
-#};
-def OnGubaoResonanceActivate(index, curPackData, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    playerID = curPlayer.GetPlayerID()
-    resonanceID = curPackData.ResonanceID
-    
-    ipyData = IpyGameDataPY.GetIpyGameData("GubaoResonance", resonanceID)
-    if not ipyData:
-        return
-    gubaoIDList = ipyData.GetGubaoIDList()
-    attrIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("GubaoResonanceAttr", {"ResonanceID":resonanceID}, True)
-    if not attrIpyDataList:
-        return
-    nextStar = resonanceStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoResonanceStar % resonanceID)
-    
-    for attrIpyData in attrIpyDataList:
-        star = attrIpyData.GetResonanceStar()
-        if star > nextStar:
-            nextStar = star
-            break
-        
-    if nextStar <= resonanceStar:
-        GameWorld.DebugLog("古宝共鸣没有下一星级了! resonanceID=%s,resonanceStar=%s" % (resonanceID, resonanceStar), playerID)
-        return
-    
-    for gubaoID in gubaoIDList:
-        _, star = GetGubaoLVInfo(curPlayer, gubaoID)
-        if star < nextStar:
-            GameWorld.DebugLog("古宝未达到共鸣星级,无法激活共鸣! gubaoID=%s,star=%s < %s" % (gubaoID, star, nextStar), playerID)
-            return
-        
-    GameWorld.DebugLog("古宝共鸣星级激活! resonanceID=%s,nextStar=%s" % (resonanceID, nextStar), playerID)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoResonanceStar % resonanceID, nextStar)
-    RefreshGubaoAttr(curPlayer)
-    Sync_GubaoResonanceInfo(curPlayer, [resonanceID])
-    return
 
 #// B2 16 古宝激活 #tagCMGubaoActivate
 #
@@ -380,12 +336,35 @@
     for index in range(ipyDataMgr.GetGubaoResonanceCount()):
         ipyData = ipyDataMgr.GetGubaoResonanceByIndex(index)
         resonanceID = ipyData.GetResonanceID()
-        resonanceStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoResonanceStar % resonanceID)
-        if not resonanceStar:
+        gubaoIDList = ipyData.GetGubaoIDList()
+        if not gubaoIDList:
             continue
-        resonanceAttrIpyData = IpyGameDataPY.GetIpyGameData("GubaoResonanceAttr", resonanceID, resonanceStar)
+        
+        gubaoStarDict = {}
+        for gubaoID in gubaoIDList:
+            _, star = GetGubaoLVInfo(curPlayer, gubaoID)
+            gubaoStarDict[gubaoID] = star
+        minStar = min(gubaoStarDict.values()) # 共鸣星级,取组合中最低古宝星级
+        if not minStar:
+            #GameWorld.DebugLog("共鸣组合存在古宝未激活! resonanceID=%s,gubaoStarDict=%s" % (resonanceID, gubaoStarDict))
+            continue
+        
+        attrIpyDataList = IpyGameDataPY.GetIpyGameDataList("GubaoResonanceAttr", resonanceID)
+        if not attrIpyDataList:
+            continue
+        
+        resonanceAttrIpyData = None
+        for attrIpyData in attrIpyDataList:
+            resonanceStar = attrIpyData.GetResonanceStar()
+            if resonanceStar > minStar:
+                break
+            resonanceAttrIpyData = attrIpyData
+            
         if not resonanceAttrIpyData:
+            #GameWorld.DebugLog("没有古宝共鸣属性! resonanceID=%s,minStar=%s" % (resonanceID, minStar))
             continue
+        
+        #GameWorld.DebugLog("古宝共鸣: resonanceID=%s,resonanceStar=%s,gubaoStarDict=%s" % (resonanceID, resonanceAttrIpyData.GetResonanceStar(), gubaoStarDict))
         resonanceAttrIDList = resonanceAttrIpyData.GetResonanceAttrIDList()
         resonanceAttrValueList = resonanceAttrIpyData.GetResonanceAttrValueList()
         for i, attrID in enumerate(resonanceAttrIDList):
@@ -393,7 +372,7 @@
             PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrListResonance)
             
     # 保存计算值
-    GameWorld.DebugLog("古宝属性: %s" % allAttrList)
+    #GameWorld.DebugLog("古宝属性: %s" % allAttrList)
     #GameWorld.DebugLog("古宝共鸣属性: %s" % allAttrListResonance)
     PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Gubao, allAttrList)
     PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_GubaoResonance, allAttrListResonance)
@@ -862,36 +841,6 @@
     clientPack = ChPyNetSendPack.tagMCGubaoInfo()
     clientPack.GubaoInfoList = gubaoInfoList
     clientPack.Count = len(clientPack.GubaoInfoList)
-    NetPackCommon.SendFakePack(curPlayer, clientPack)
-    return
-
-def Sync_GubaoResonanceInfo(curPlayer, resonanceIDList=None):
-    if resonanceIDList == None:
-        syncIDList = []
-        ipyDataMgr = IpyGameDataPY.IPY_Data()
-        for index in range(ipyDataMgr.GetGubaoResonanceCount()):
-            ipyData = ipyDataMgr.GetGubaoResonanceByIndex(index)
-            syncIDList.append(ipyData.GetResonanceID())
-    else:
-        syncIDList = resonanceIDList
-        
-    resonanceInfoList = []
-    for resonanceID in syncIDList:
-        resonanceStar = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoResonanceStar % resonanceID)
-        if not resonanceStar and resonanceIDList == None:
-            # 没有指定时只同步激活的
-            continue
-        resonanceInfo = ChPyNetSendPack.tagMCGubaoResonance()
-        resonanceInfo.ResonanceID = resonanceID
-        resonanceInfo.ResonanceStar = resonanceStar
-        resonanceInfoList.append(resonanceInfo)
-        
-    if not resonanceInfoList:
-        return
-    
-    clientPack = ChPyNetSendPack.tagMCGubaoResonanceInfo()
-    clientPack.ResonanceInfoList = resonanceInfoList
-    clientPack.Count = len(clientPack.ResonanceInfoList)
     NetPackCommon.SendFakePack(curPlayer, clientPack)
     return
 

--
Gitblit v1.8.0