From d57475ffe460133d146d377e66ed19ccb77b11a7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 20 十月 2025 17:22:00 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(寻宝支持定制第x次x抽必出)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py
index 582d745..7d2b5b7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBFamily.py
@@ -173,6 +173,7 @@
         self.__dbData = DBStruct.tagDBFamilyMem() if not dbData else dbData
         return
     
+    def GetFamily(self): return DBDataMgr.GetFamilyMgr().FindFamily(self.__dbData.FamilyID)
     def GetPlayerID(self): return self.__dbData.PlayerID
     def GetFamilyID(self): return self.__dbData.FamilyID
     def GetJoinTime(self): return self.__dbData.JoinTime
@@ -188,6 +189,8 @@
     def SetFace(self, face): self.__dbData.Face = face
     def GetFacePic(self): return self.__dbData.FacePic
     def SetFacePic(self, facePic): self.__dbData.FacePic = facePic
+    def GetTitleID(self): return self.__dbData.TitleID
+    def SetTitleID(self, titleID): self.__dbData.TitleID = titleID
     def GetFightPower(self): return self.__dbData.FightPower
     def GetFightPowerEx(self): return self.__dbData.FightPowerEx
     def GetFightPowerTotal(self): return self.__dbData.FightPowerEx * ChConfig.Def_PerPointValue + self.__dbData.FightPower
@@ -203,8 +206,12 @@
     def SetFmLV(self, fmLV): self.__dbData.FmLV = fmLV
     def GetContribTotal(self): return self.__dbData.ContribTotal
     def SetContribTotal(self, contribTotal): self.__dbData.ContribTotal = contribTotal
-    def GetContribWeek(self): return self.__dbData.ContribWeek
-    def SetContribWeek(self, contribWeek): self.__dbData.ContribWeek = contribWeek
+    def GetContribDay(self): return self.__dbData.ContribDay
+    def SetContribDay(self, contribDay): self.__dbData.ContribDay = contribDay
+    def GetDonateCntTotal(self): return self.__dbData.DonateCntTotal
+    def SetDonateCntTotal(self, donateCntTotal): self.__dbData.DonateCntTotal = donateCntTotal
+    def GetDonateCntDay(self): return self.__dbData.DonateCntDay
+    def SetDonateCntDay(self, donateCntDay): self.__dbData.DonateCntDay = donateCntDay
     def GetBuffer(self): return self.__dbData.getBuffer()
     
     def RefreshMemberByID(self, playerID):
@@ -220,12 +227,16 @@
         self.SetRealmLV(viewCache.GetRealmLV())
         self.SetFace(viewCache.GetFace())
         self.SetFacePic(viewCache.GetFacePic())
+        self.SetTitleID(viewCache.GetTitleID())
         self.SetServerID(viewCache.GetServerID())
         fpChange = False
         fightPowerTotal = viewCache.GetFightPowerTotal()
         if self.GetFightPowerTotal() < fightPowerTotal:
             self.SetFightPowerTotal(fightPowerTotal)
             fpChange = True
+            family = self.GetFamily()
+            if family:
+                family.SetMemFightPowerChange()
         return fpChange
     
     def RefreshMember(self, curPlayer):
@@ -240,10 +251,15 @@
         self.SetRealmLV(curPlayer.GetOfficialRank())
         self.SetFace(curPlayer.GetFace())
         self.SetFacePic(curPlayer.GetFacePic())
+        self.SetTitleID(PlayerControl.GetTitleID(curPlayer))
         self.SetServerID(GameWorld.GetPlayerServerID(curPlayer))
         fightPowerTotal = PlayerControl.GetFightPower(curPlayer)
         fpChange = self.GetFightPowerTotal() != fightPowerTotal
         self.SetFightPowerTotal(fightPowerTotal)
+        if fpChange:
+            family = self.GetFamily()
+            if family:
+                family.SetMemFightPowerChange()
         return fpChange
     
 class Family():
@@ -286,6 +302,8 @@
         return
     def GetEmblemID(self): return self.__dbData.EmblemID
     def SetEmblemID(self, emblemID): self.__dbData.EmblemID = emblemID
+    def GetEmblemWord(self): return self.__dbData.EmblemWord
+    def SetEmblemWord(self, emblemWord): self.__dbData.EmblemWord = emblemWord
     def GetBuffer(self): return self.__dbData.getBuffer()
         
     ## ------------------------------------------------
@@ -301,6 +319,8 @@
         self.__memberDict[playerID] = member
         self.__memberList.append(member)
         return member
+    
+    def GetMemberIDList(self): return self.__memberDict.keys()
     
     def AddMember(self, playerID):
         member = None
@@ -341,19 +361,7 @@
             mem = FamilyMem()
         return mem
     
-    def RefreshFamilyMember(self, curPlayer):
-        ## 刷新在线成员信息
-        playerID = curPlayer.GetPlayerID()
-        familyID = curPlayer.GetFamilyID()
-        if self.GetID() != familyID:
-            return
-        member = self.FindMember(playerID)
-        if not member:
-            return
-        if member.RefreshMember(curPlayer):
-            self.__memFightPowerChange = True
-        return
-    
+    def SetMemFightPowerChange(self): self.__memFightPowerChange = True
     def RefrshFightPowerTotal(self, checkChange=False):
         ## 刷新总战力
         if checkChange and self.__memFightPowerChange == False: # 默认None,首次必刷新
@@ -488,7 +496,7 @@
                 self.__familyList.remove(family)
             family.OnDelete()
         self.__familyIDDict.pop(familyID, None)
-        if familyID > ShareDefine.FackFamilyIDMax:
+        if familyID >= ShareDefine.RealFamilyIDStart:
             PyMongoMain.GetUserCtrlDB().FreeFamilyID(familyID) # 归还仙盟ID,重复使用
         return family
     

--
Gitblit v1.8.0