From caba629e01f8f603b8e05f588688c40e82eb6c88 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 21 十一月 2025 16:44:33 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.py |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.py
index fb0c287..f9d3308 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.py
@@ -25,6 +25,7 @@
 import PlayerBillboard
 import PlayerZhanling
 import ItemControler
+import PlayerBeauty
 import PlayerArena
 import PlayerGubao
 import PyGameData
@@ -125,7 +126,13 @@
         GameWorld.DebugLog("scoreIndex=%s,winScoreInfo=%s" % (scoreIndex, winScoreInfo), playerID)
         
     # 无论胜负,只要挑战都给固定奖励
-    awardItemList = IpyGameDataPY.GetFuncEvalCfg("ArenaSet", 4)
+    awardItemList = []
+    awardItemList += IpyGameDataPY.GetFuncEvalCfg("ArenaSet", 4)
+    exItemRate, exItemID = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_ArenaItemEx) # 概率额外获得1个物品
+    if exItemRate and exItemID:
+        if GameWorld.CanHappen(exItemRate):
+            awardItemList.append([exItemID, 1])
+            GameWorld.DebugLog("红颜概率额外获得1个物品: exItemRate=%s, exItemID=%s, awardItemList=%s" % (exItemRate, exItemID, awardItemList))
     overMsg.update({"tagPlayerID":tagPlayerID, "atkAddScore":atkAddScore, "defDecScore":defDecScore,
                     FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(awardItemList)})
     
@@ -142,6 +149,11 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaScore, updScore)
     GameWorld.DebugLog("score=%s,atkAddScore=%s,updScore=%s" % (score, atkAddScore, updScore), playerID)
     
+    if isWin:
+        winCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaWinCnt)
+        updWinCnt = PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaWinCnt, winCnt + 1)
+        GameWorld.DebugLog("updWinCnt=%s" % (updWinCnt), playerID)
+        
     tagViewCache = turnFight.tagViewCache
     gameRecMgr = DBDataMgr.GetGameRecMgr()
     atkRecMgr = gameRecMgr.GetRecTypeIDMgr(ShareDefine.Def_GameRecType_ArenaRecord, playerID)
@@ -208,7 +220,7 @@
         return
     
     tagPlayerID, isWin, atkAddScore, defDecScore, awardItemList = awardData
-    
+    GameWorld.DebugLog("竞技场结算奖励: tagPlayerID=%s,isWin=%s,atkAddScore=%s,defDecScore=%s,awardItemList=%s" % (tagPlayerID, isWin, atkAddScore, defDecScore, awardItemList))
     if not PlayerControl.PayMoney(curPlayer, ShareDefine.TYPE_Price_ArenaTicket, 1):
         return
     

--
Gitblit v1.8.0