From ec9cd314987874a04318c45038081abb622df8b2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 15 十二月 2025 19:49:08 +0800
Subject: [PATCH] 13 【内政】淘金系统-自动淘金到期时仓库满,全部取出异常

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
index 3829f22..9330e8d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
@@ -20,12 +20,14 @@
 import TurnAttack
 import ShareDefine
 import IpyGameDataPY
+import PlayerSuccess
 import PlayerControl
 import PlayerActivity
 import ChPyNetSendPack
 import ItemControler
 import IPY_GameWorld
 import NetPackCommon
+import PlayerBeauty
 import PlayerArena
 import PlayerLLMJ
 import ItemCommon
@@ -33,7 +35,6 @@
 import NPCCommon
 import BattleObj
 import ChEquip
-import ObjPool
 
 import random
 
@@ -121,12 +122,18 @@
     # 其他战利品掉落
     bootyDropNeedDict = IpyGameDataPY.GetFuncEvalCfg("MainBootyDrop", 1, {})
     bootyDropCntDict = IpyGameDataPY.GetFuncEvalCfg("MainBootyDrop", 2, {})
-    for itemID, dropUpper in DailyBootyUpperList:
+    for itemID, baseUpper in DailyBootyUpperList:
         if spaceCount <= 0:
             GameWorld.DebugLog("掉落背包已满!", playerID)
             break
-        if dropUpper <= 0:
+        if baseUpper <= 0:
             continue
+        dropUpper = baseUpper
+        addPer = 0
+        addPer += PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_BootyPer)[0] # 战利品上限提高百分比
+        if addPer:
+            dropUpper = int(baseUpper * (100 + addPer) / 100.0)
+            GameWorld.DebugLog("红颜提高战利品掉落上限: itemID=%s,baseUpper=%s,addPer=%s,dropUpper=%s" % (itemID, baseUpper, addPer, dropUpper))
         todyDropCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BootyDropToday % itemID)
         if todyDropCnt >= dropUpper:
             GameWorld.DebugLog("战利品已达今日掉落上限! itemID=%s,todyDropCnt=%s >= %s" % (itemID, todyDropCnt, dropUpper), playerID)
@@ -152,6 +159,7 @@
                 curMoney = PlayerControl.GetMoney(curPlayer, ShareDefine.TYPE_Price_ArenaTicket)
                 storeMax = PlayerArena.GetArenaTicketStoreMax(curPlayer)
                 if curMoney >= storeMax:
+                    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntBooty % itemID, 0)
                     GameWorld.DebugLog("挑战券已达存储上限! itemID=%s,curMoney=%s >= %s" % (itemID, curMoney, storeMax), playerID)
                     continue
                 
@@ -425,6 +433,7 @@
     ChEquip.RefreshRoleEquipAttr(curPlayer)
     
     PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_EquipColor)
+    PlayerSuccess.UpdateEquipSuccess(curPlayer)
     return
 
 def __doDecomposeMainEquip(curPlayer, itemIndexList):
@@ -474,10 +483,11 @@
     moneyTotal = int(round(moneyTotal)) # 四舍五入取整
     GameWorld.DebugLog("moneyTotal=%s,mjExTotal=%s" % (moneyTotal, mjExTotal), playerID)
     
-    PlayerControl.GiveMoney(curPlayer, moneyType, moneyTotal, "DecomposeMainEquip", isSysHint=False)
+    PlayerControl.GiveMoney(curPlayer, moneyType, moneyTotal, isSysHint=False)
     PlayerLLMJ.AddExpDecompose(curPlayer, mjExTotal)
     PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_EquipDecompose, decomposeCnt)
     PlayerActivity.AddDailyTaskValue(curPlayer, ChConfig.DailyTask_EquipDecompose, decomposeCnt)
+    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAEquipDecompose, decomposeCnt)
     return
 
 def __doPickupMainItem(curPlayer, itemIndexList):
@@ -515,11 +525,10 @@
         syncItemIDList = GetBootyItemIDList()
     else:
         syncItemIDList = [itemID]
-    poolMgr = ObjPool.GetPoolMgr()
-    clientPack = poolMgr.acquire(ChPyNetSendPack.tagSCDropBootyInfo)
+    clientPack = ChPyNetSendPack.tagSCDropBootyInfo()
     clientPack.DropBootyList = []
     for itemID in syncItemIDList:
-        dropBooty = poolMgr.acquire(ChPyNetSendPack.tagSCDropBooty)
+        dropBooty = ChPyNetSendPack.tagSCDropBooty()
         dropBooty.ItemID = itemID
         dropBooty.TodayDropCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BootyDropToday % itemID)
         clientPack.DropBootyList.append(dropBooty)
@@ -527,9 +536,10 @@
     NetPackCommon.SendFakePack(curPlayer, clientPack)
     return
 
-def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
+def OnTurnFightOver(turnFight, mapID, funcLineID, overMsg):
     ## 回合战斗结束
     
+    curPlayer = turnFight.curPlayer
     if not curPlayer:
         return
     

--
Gitblit v1.8.0