From 256fb6df5072850105da4b381f8ce1896c168ac1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 10:54:32 +0800
Subject: [PATCH] 16 卡牌服务端(自动开服清档增加清除榜单、通用记录;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBeauty.py |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBeauty.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBeauty.py
index 175e207..d1a3b4f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBeauty.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBeauty.py
@@ -23,6 +23,7 @@
 import IpyGameDataPY
 import ChPyNetSendPack
 import OpenServerActivity
+import GameLogic_Dingjunge
 import PlayerGoldRush
 import NetPackCommon
 import ItemControler
@@ -39,7 +40,8 @@
 UnlockWay_FBZhanchui, # 白骨盈野过关 5
 UnlockWay_OfficialRank, # 官职达到 6
 UnlockWay_TravelCnt, # 游历次数 7
-) = range(1, 1 + 7)
+UnlockWay_FBDingjunge, # 定军阁通关层 8
+) = range(1, 1 + 8)
 
 # 皮肤解锁方式
 UnlockWaySkin_Default = 1 # 默认解锁 1
@@ -51,7 +53,8 @@
 EffType_ArenaItemEx, # 2. 演武场挑战胜利,概率额外获得1个物品的概率    TypeValue:物品ID  Value:概率
 EffType_TravelEnergy, # 3.游历体力上限增加     Value:增加上限
 EffType_FBZhanchuiItemEx, # 4.白骨盈野扫荡额外物品奖励      TypeValue:物品ID  Value:数量
-) = range(1, 1 + 4)
+EffType_HeroItemExPer, # 5.遣散/吞噬武将额外返还      Value:百分比
+) = range(1, 1 + 5)
 
 def OnPlayerLogin(curPlayer):
     SyncBeautyInfo(curPlayer)
@@ -180,6 +183,13 @@
         isPass = FBCommon.IsFBPass(curPlayer, mapID, funcLineID)
         if not isPass:
             GameWorld.DebugLog("激活红颜所需副本未过关! beautyID=%s,mapID=%s,funcLineID=%s" % (beautyID, mapID, funcLineID), playerID)
+            return
+        
+    elif unlockWay == UnlockWay_FBDingjunge:
+        passLayer = GameLogic_Dingjunge.GetPassLayerMax(curPlayer)
+        needLayer = unlockValue
+        if passLayer < needLayer:
+            GameWorld.DebugLog("激活红颜所需定军阁通关层不足! beautyID=%s,passLayer=%s < %s" % (beautyID, passLayer, needLayer), playerID)
             return
         
     elif unlockWay == UnlockWay_OfficialRank:
@@ -580,14 +590,13 @@
     # 保存计算值
     GameWorld.DebugLog("红颜属性: %s" % attrDict, playerID)
     GameWorld.DebugLog("红颜效果: %s" % effTypeDict, playerID)
-    PyGameData.g_beautyEffTypeDict[playerID] = effTypeDict
-    PlayerOnline.GetOnlinePlayer(curPlayer).SetCalcAttr(ChConfig.Def_CalcAttr_Beauty, attrDict)
+    PlayerOnline.GetOnlinePlayer(curPlayer).SetCalcAttr(ChConfig.Def_CalcAttr_Beauty, attrDict, effTypeDict)
     return
 
 def GetBeautyEffInfo(curPlayer, effType):
     ## 获取红颜特殊效果信息
     # @return: effValue, effTypeValue
-    effTypeDict = PyGameData.g_beautyEffTypeDict.get(curPlayer.GetPlayerID(), {})
+    effTypeDict = PlayerOnline.GetOnlinePlayer(curPlayer).GetCalcSpecInfo(ChConfig.Def_CalcAttr_Beauty)
     return effTypeDict.get(effType, [0, 0])
 
 def SyncBeautyInfo(curPlayer, beautyIDList=None, skinIDList=None):

--
Gitblit v1.8.0