From 406c1a6775ef7dde34ba379843322bd2d5ca23d2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 02 十二月 2025 16:29:24 +0800
Subject: [PATCH] 320 【付费内容】商城-服务端(xssg充值回调接口;游戏服务器兑换充值商品逻辑修改;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
index 426a4bf..67867c2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py
@@ -17,7 +17,10 @@
import GameWorld
import ItemControler
+import PlayerBeauty
import FBCommon
+import PlayerTask
+import ChConfig
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
## 回合战斗请求
@@ -45,13 +48,29 @@
itemList = FBCommon.GetPassAwardList(mapID, funcLineID)
GameWorld.DebugLog("过关奖励: mapID=%s,funcLineID=%s,itemList=%s" % (mapID, funcLineID, itemList))
- # 首通不扣次数
- FBCommon.SetFBPass(curPlayer, mapID, funcLineID)
- ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
+ turnFight.awardData = [itemList]
return
+def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
+ ## 回合战斗结算奖励
+ if not curPlayer:
+ return
+
+ if not awardData:
+ return
+
+ itemList = awardData[0]
+
+ # 首通不扣次数
+ FBCommon.AddEnterFBCount(curPlayer, mapID, isFree=True)
+ FBCommon.SetFBPass(curPlayer, mapID, funcLineID)
+ ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
+
+ PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_FBZhanchui)
+ return
+
def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, dataEx):
## 可否扫荡
@@ -60,13 +79,25 @@
def OnPlayerFBSweepResult(curPlayer, mapID, lineID, sweepCnt, dataEx, askRet):
## 扫荡结果,次数消耗已在外层处理扣除
- itemList = FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
- GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s" % (mapID, lineID, sweepCnt))
+ itemList = []
+ itemList += FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
+ GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s,itemList=%s" % (mapID, lineID, sweepCnt, itemList))
+ exItemCount, exItemID = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_FBZhanchuiItemEx) # 扫荡额外物品奖励
+ if exItemCount and exItemID:
+ itemList += [[exItemID, exItemCount, 1]] # 标记是红颜效果额外获得的
+ GameWorld.DebugLog("红颜额外增加扫荡物品奖励: exItemID=%s, exItemCount=%s, itemList=%s" % (exItemID, exItemCount, itemList))
+
ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
isPass = 1
- overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), FBCommon.Over_isSweep:1}
+ jsonItemList = []
+ for itemInfo in itemList:
+ itemDict = {"ItemID":itemInfo[0], "Count":itemInfo[1]}
+ if len(itemInfo) > 2:
+ itemDict['BeautyEx'] = itemInfo[2]
+ jsonItemList.append(itemDict)
+ overDict = {FBCommon.Over_itemInfo:jsonItemList, FBCommon.Over_isSweep:1}
FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict)
return True
--
Gitblit v1.8.0