From 46dbf29a22bd25d8e9c6ea4c34fea35a4828d712 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 31 十二月 2025 12:13:01 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(武将重置突破支持消耗货币;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
index ddfddca..5687f87 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -60,8 +60,8 @@
 import PlayerZhanling
 import PlayerGoldRush
 import PlayerLLMJ
-import ItemCommon
 import PyGameData
+import DBDataMgr
 import CommFunc
 
 import time
@@ -338,7 +338,7 @@
     PlayerControl.SendMailByKey("ExchangeToPayCoin", [playerID], addItemList, paramList)
     
     if payOrderType != PayOrderType_PayCoin:
-        serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+        serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
         addDRDict.update({"coinType":ChConfig.CoinType_ExchangePayCoin, "PayCoin":[befPayCoin, aftPayCoin], 
                           "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay, "eventName":eventName})
         DataRecordPack.DR_CTGOK(curPlayer, addDRDict)
@@ -617,7 +617,8 @@
             syncRecordIDList.append(ctgID)
             ctgItemList = GetCTGGiveItemList(ctgIpyData)
             packCTGIDDict[ctgID] = ctgItemList
-            for itemID, itemCount, _ in ctgItemList:
+            for itemInfo in ctgItemList:
+                itemID, itemCount = itemInfo[:2]
                 packItemDict[itemID] = packItemDict.get(itemID, 0) + itemCount
             __addCTGIDBuyCnt(curPlayer, ctgID)
         if packCTGIDDict:
@@ -719,16 +720,28 @@
     
     if ctgIpyData and ctgIpyData.GetPayType() == PayType_PayCoin:
         # 代币充值,仅给代币,不触发其他内容
+        ctgID = ctgIpyData.GetRecordID()
         coinType = ChConfig.CoinType_PayCoin
         orderInfo = addDRDict.get("orderInfo", "")
         orderCoin = addDRDict.get("orderCoin", 0)
         payOrderType = addDRDict.get("payOrderType", PayOrderType_Default)
         playerID = curPlayer.GetPlayerID()
+        moneyInfo = {}
         befPayCoin = PlayerControl.GetPayCoin(curPlayer)
         if addGold and moneyType == ShareDefine.TYPE_Price_PayCoin:
             drDict = {ChConfig.Def_Give_Reason_SonKey:orderInfo, "payOrderType":payOrderType, "orderInfo":orderInfo}
             PlayerControl.GiveMoney(curPlayer, moneyType, addGold, eventName, drDict)
+            moneyInfo[moneyType] = addGold
         aftPayCoin = PlayerControl.GetPayCoin(curPlayer)
+        # 三国版本充代币支持赠送元宝
+        prizeMoneyType = IPY_GameWorld.TYPE_Price_Gold_Money
+        if prizeGold > 0:
+            PlayerControl.GiveMoney(curPlayer, prizeMoneyType, prizeGold, eventName, addDRDict, isGiveBourseMoney=isAddBourseMoney)
+            moneyInfo[prizeMoneyType] = prizeGold
+            
+        if moneyInfo:
+            ItemControler.NotifyGiveAwardInfo(curPlayer, [], ChConfig.ItemGive_CTG, moneyInfo=moneyInfo, 
+                                              dataEx={"orderInfo":orderInfo, "ctgID":ctgID})
         
         isRealMoney = True if addDRDict.get("orderID") else False # tqxbqy 真实订单充代币算真实充值
         if isRealMoney:
@@ -737,8 +750,8 @@
         ctgRealToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealToday) # 当日真实货币充值Coin数 ,不含后台充值- 今日
         ctgRealTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal) # 累计真实货币充值Coin数 ,不包后台充值 - 总计
         ctgRealFirstTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealFirstTime) # 首次真实货币充值时间戳
-        serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
-        addDRDict.update({"coinType":coinType, "PayCoin":[befPayCoin, aftPayCoin], 
+        serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
+        addDRDict.update({"coinType":coinType, "PayCoin":[befPayCoin, aftPayCoin], "moneyInfo":moneyInfo,
                           "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay, "eventName":eventName, 
                           "ctgRealToday":ctgRealToday, "ctgRealTotal":ctgRealTotal, "ctgRealFirstTime":GameWorld.ChangeTimeNumToStr(ctgRealFirstTime) if ctgRealFirstTime else ""})
         DataRecordPack.DR_CTGOK(curPlayer, addDRDict)
@@ -835,7 +848,7 @@
         PlayerTongTianLing.OnActiviteTTTByCTGID(curPlayer, ctgID)
         PlayerLLMJ.OnActiviteByCTGID(curPlayer, ctgID)
         
-    serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+    serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
     addDRDict.update({"gold":[goldBefore, goldAfter], "changeCoinPoint":[changeCoinPointBefore, changeCoinPointAfter], "todayCTGCoinTotal":todayCTGCoinTotal,
                       "bourseMoney":[bourseMoneyBefore, bourseMoneyAfter], "addGold":addGold, "prizeGold":prizeGold, "giveItemList":giveItemList, "coinType":coinType,
                       "coinExp":coinExp, "addVIPExp":addVIPExp, "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay,

--
Gitblit v1.8.0