From 9c5f7ba286ee8fa87f9e348624fee2127b3fe85a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 04 十二月 2025 15:45:44 +0800
Subject: [PATCH] 369 【活动内容】开服冲榜-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
index 2a80a9e..f711016 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -26,6 +26,9 @@
 import PlayerActLunhuidian
 import PlayerActYunshi
 import PlayerActivity
+import OpenServerActivity
+import PlayerBillboard
+import ShareDefine
 import ItemCommon
 import PlayerHero
 import PyGameData
@@ -53,6 +56,8 @@
 TreasureType_HeroComm = 11 # 英雄招募 - 普通
 TreasureType_HeroHigh = 12 # 英雄招募 - 高级
 TreasureType_HeroScore = 13 # 英雄招募 - 积分
+#武将招募的所有类型
+TreasureType_HeroCallList = [TreasureType_HeroComm, TreasureType_HeroHigh, TreasureType_HeroScore]
 
 def OnTreasureLogin(curPlayer):
     Sync_TreasureInfo(curPlayer)
@@ -438,9 +443,11 @@
     if addScoreType and addScore:
         PlayerControl.GiveMoney(curPlayer, addScoreType, addScore * treasureCount)
         
-    if treasureType in [TreasureType_HeroComm, TreasureType_HeroHigh, TreasureType_HeroScore]:
+    if treasureType in TreasureType_HeroCallList:
         PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_HeroCall, treasureCount)
-        
+        if OpenServerActivity.GetOSAState(curPlayer, ShareDefine.Def_BT_OSA_HeroCall) == 1:
+            PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_OSA_HeroCall, GetHeroCallCnt(curPlayer))
+            
     PlayerActLunhuidian.AddLunhuidianValue(curPlayer, PlayerActLunhuidian.AwardType_Treasure, treasureType, treasureCount)
     
     # 给物品
@@ -484,6 +491,13 @@
     Sync_TreasureInfo(curPlayer, [treasureType])
     return
 
+def GetHeroCallCnt(curPlayer):
+    ## 获取武将招募总次数
+    callCount = 0
+    for treasureType in TreasureType_HeroCallList:
+        callCount += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType))
+    return callCount
+
 def __getLuckyRateInfo(curLuck, luckyItemRateDict, luckyValueList):
     if not luckyItemRateDict or not luckyValueList:
         return 0, []

--
Gitblit v1.8.0