From 95c731d5e1a9aadb610ac9f6ecbc6b74b919ab60 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 28 二月 2026 17:05:35 +0800
Subject: [PATCH] 417 【武将】吞噬返还优化(固定额外返还一个本体遣散道具;优化吞噬星级溢出逻辑;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
index 667d289..1eea137 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -29,9 +29,10 @@
 import PlayerControl
 import FunctionNPCCommon
 import PlayerActBuyCountGift
-import PlayerActLoginNew
+import OpenServerActivity
 import PlayerActTask
 import ItemControler
+import PlayerMingge
 import PlayerTravel
 import PlayerHorse
 import PlayerArena
@@ -45,11 +46,14 @@
                      ShareDefine.GameFuncID_Shop:lambda curObj:FunctionNPCCommon.DoShopOpen(curObj),
                      ShareDefine.GameFuncID_Horse:lambda curObj:PlayerHorse.DoHorseOpen(curObj),
                      ShareDefine.GameFuncID_Travel:lambda curObj:PlayerTravel.DoTravelOpen(curObj),
+                     ShareDefine.GameFuncID_Mingge:lambda curObj:PlayerMingge.DoMinggeOpen(curObj),
+                     ShareDefine.GameFuncID_OSA_MainLevel:lambda curObj:OpenServerActivity.DoOSA_MainLevel(curObj),
+                     ShareDefine.GameFuncID_OSA_HeroCall:lambda curObj:OpenServerActivity.DoOSA_HeroCall(curObj),
                      }
 
 def GetFuncOpenLVIpyData(funcID): return IpyGameDataPY.GetIpyGameData("FuncOpenLV", funcID)
 
-def DoFuncOpenLogic(curPlayer):
+def DoFuncOpenLogic(curPlayer, checkServerDay=True):
     '''执行触发功能开启逻辑
     @param finishMissionIDList: 完成的任务ID列表
     '''
@@ -87,7 +91,11 @@
             continue
         
         limitOpenDay = ipyData.GetLimitOpenDay()
-        if limitOpenDay and serverDay < limitOpenDay:
+        if limitOpenDay and serverDay < limitOpenDay and checkServerDay:
+            continue
+        
+        limitManLevel = ipyData.GetLimitManLevel()
+        if limitManLevel and PlayerControl.GetMainLevelPassValue(curPlayer) < limitManLevel:
             continue
         
         # 先更新值再处理开启逻辑,不能可能导致在功能开启逻辑中再开启功能引发的递归死循环
@@ -108,7 +116,6 @@
     if openFuncIDList:
         Sync_FuncOpenState(curPlayer, openFuncIDList)
         PlayerActTask.OnCheckRelateFuncAct(curPlayer, openFuncIDList)
-        PlayerActLoginNew.OnCheckRelateFuncAct(curPlayer, openFuncIDList)
         PlayerActBuyCountGift.OnCheckRelateFuncAct(curPlayer, openFuncIDList)
         
     return

--
Gitblit v1.8.0