From ba67d86ccc7dde96a4fe2bb2ae3abfbd0aacc561 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 03 十一月 2025 12:00:10 +0800
Subject: [PATCH] 237 【福利内容】每日任务/每周任务/章节奖励-服务端(增加每日任务类型 6 ~ 10)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
index d900533..b94f27e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamilyEmblem.py
@@ -68,7 +68,7 @@
                 updEmblemID = random.choice(defaultEmblemIDList) if defaultEmblemIDList else 0
                 GameWorld.Log("仙盟佩戴徽章过期恢复随机默认徽章! familyID=%s,emblemID=%s,endTime=%s,updEmblemID=%s" % (familyID, emblemID, endTime, updEmblemID))
                 family.SetEmblemID(updEmblemID)
-                family.Broadcast_FamilyChange()
+                PlayerFamily.Broadcast_FamilyChange(familyID, PlayerFamily.FamilyChangeType_EChange)
     return
 
 def GetFamilyEmblemActionData(familyID, emblemID):
@@ -77,7 +77,7 @@
     familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
     for index in range(familyAction.Count()):
         familyActionObj = familyAction.At(index)
-        if emblemID == familyActionObj.GetValue1():
+        if emblemID == GetActionEmblemID(familyActionObj):
             return familyActionObj
     return
 
@@ -104,9 +104,6 @@
         actionType = ShareDefine.Def_ActionType_FamilyEmblem
         familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, actionType)
         emblemActionObj = familyAction.AddAction()
-        emblemActionObj.SetTime(curTime)
-        emblemActionObj.SetFamilyId(familyID)
-        emblemActionObj.SetActionType(actionType)
         
     if not emblemActionObj:
         return
@@ -134,19 +131,19 @@
     SetActionEmblemEndTime(emblemActionObj, updEndTime)
     
     # 通知
-    #PlayerFamilyAction.SendFamilyAction(emblemActionObj)
+    PlayerFamily.SendFamilyAction(emblemActionObj)
     return emblemActionObj
 
-def OnChangeFamilyEmblem(curPlayer, emblemID):
+def OnChangeFamilyEmblem(curPlayer, emblemID, emblemWord=""):
     ## 修改仙盟徽章
     playerID = curPlayer.GetPlayerID()
     familyID = curPlayer.GetFamilyID()
-    familyManager = PlayerFamily.GetFamilyMgr()
-    curFamily = familyManager.FindFamily(familyID)
+    if familyID <= 0:
+        return
+    familyMgr = DBDataMgr.GetFamilyMgr()
+    curFamily = familyMgr.FindFamily(familyID)
     if not curFamily:
         return
-    familyID = curFamily.GetID()
-    
     if curFamily.GetLeaderID() != playerID:
         GameWorld.DebugLog("只有盟主可以修改徽章!", playerID)
         return
@@ -178,8 +175,10 @@
             GameWorld.Log("该徽章已过期! familyID=%s,emblemID=%s,endTime=%s" % (familyID, emblemID, endTime))
             return
         
-    GameWorld.DebugLog("更换仙盟徽章! familyID=%s,emblemID=%s" % (familyID, emblemID), playerID)
+    GameWorld.DebugLog("更换仙盟徽章! familyID=%s,emblemID=%s,emblemWord=%s" % (familyID, emblemID, GameWorld.CodeToGbk(emblemWord)), playerID)
     curFamily.SetEmblemID(emblemID)
-    #PlayerFamily.SendPack_MapServer_PlayerFamilyRefresh(curFamily)
-    curFamily.Broadcast_FamilyChange()
-    return
+    if emblemWord:
+        curFamily.SetEmblemWord(emblemWord)
+    PlayerFamily.Sync_FamilyInfo(curPlayer)
+    PlayerFamily.Broadcast_FamilyChange(familyID, PlayerFamily.FamilyChangeType_EChange, excludeIDList=[playerID])
+    return True

--
Gitblit v1.8.0