From 3f862208516829ee806168cbb633bc9221f0cf6a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 11 十月 2025 20:30:10 +0800
Subject: [PATCH] 271 【内政】古宝系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 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 1fb32e2..a6ead2c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -28,8 +28,10 @@
 import PlayerActLunhuidian
 import PlayerActYunshi
 import PlayerActTask
+import PlayerGubao
 import ItemCommon
 import PlayerHero
+import PyGameData
 import ChConfig
 
 import random
@@ -46,11 +48,6 @@
 TreasureType_HeroComm = 11 # 英雄招募 - 普通
 TreasureType_HeroHigh = 12 # 英雄招募 - 高级
 TreasureType_HeroScore = 13 # 英雄招募 - 积分
-
-def DoTreasureOpen(curPlayer):
-    ## 寻宝开启
-    Sync_TreasureInfo(curPlayer)
-    return
 
 def OnTreasureLogin(curPlayer):
     Sync_TreasureInfo(curPlayer)
@@ -302,7 +299,7 @@
             getGridResult.append(gridNum)
             GameWorld.DebugLog("    本次产出: gridNum=%s, %s" % (gridNum, getGridResult), playerID)
             if gridNum in luckyGridNumList:
-                if gridNum == setLuckyGridNum or gridNum >= maxLuck:
+                if gridNum == setLuckyGridNum or updLuck >= maxLuck:
                     updLuck = 0
                 else:
                     updLuck = stageLuck # 直接切换到下一阶段幸运
@@ -370,7 +367,8 @@
             GameWorld.ErrLog("寻宝格子不存在!treasureType=%s,gridNum=%s" % (treasureType, gridNum), playerID)
             return
         
-        treasureResult.append([gridNum, itemID, itemCount, isBind])
+        isTrans = 0 # 是否转化
+        treasureResult.append([gridNum, itemID, itemCount, isTrans])
         
     # 扣消耗
     if costType == 1:
@@ -411,16 +409,18 @@
         PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_JSTreasure, treasureCount)
         PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_JSTreasure, treasureCount)
         PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_TreasureJueshi, treasureCount)
-    elif treasureType == TreasureType_Gubao:
-        PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_TreasureGubao, treasureCount)
+    #elif treasureType == TreasureType_Gubao:
+    #    PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_TreasureGubao, treasureCount)
         
     PlayerActLunhuidian.AddLunhuidianValue(curPlayer, PlayerActLunhuidian.AwardType_Treasure, treasureType, treasureCount)
     
     # 给物品
     mailItemList = []
     itemControl = ItemControler.PlayerItemControler(curPlayer)
-    for gridNum, itemID, itemCount, isBind in treasureResult:
-        itemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, False, curPlayer=curPlayer)
+    for tResult in treasureResult:
+        gridNum, itemID, itemCount = tResult[:3]
+        PyGameData.g_transItemSign = 0
+        itemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, isBind, curPlayer=curPlayer)
         mailItemDict = ItemCommon.GetMailItemDict(itemObj)
         
         if int(gridNum) in notifyGridNumList and notifyKey:
@@ -430,6 +430,10 @@
             mailItemList.append(mailItemDict)
             itemObj.Clear()
             
+        # 检查物品转化
+        if PyGameData.g_transItemSign:
+            tResult[3] = 1 # 有转化物品时设置转化标记
+            
     if mailItemList:
         PlayerControl.SendMailByKey("HappyXBUnEnough", [playerID], mailItemList)
         

--
Gitblit v1.8.0