From ec68dabc97521a7706344e7d038e9f08462f4fe8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 十二月 2025 10:26:34 +0800
Subject: [PATCH] 16 卡牌服务端(删除多余备档报错防范;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py | 47 +++++++++++++++--------------------------------
1 files changed, 15 insertions(+), 32 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 4aa788e..f79961a 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
@@ -19,6 +19,10 @@
import ItemControler
import PlayerBeauty
import FBCommon
+import PlayerSuccess
+import ShareDefine
+import PlayerTask
+import ChConfig
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
## 回合战斗请求
@@ -29,13 +33,12 @@
return True, funcLineID
-def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
- ## 回合战斗结束
-
+def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
+ ## 回合战斗结算奖励
if not curPlayer:
return
- isWin = turnFight.isWin
+ isWin = winFaction == ChConfig.Def_FactionA
if not isWin:
return
@@ -46,25 +49,15 @@
itemList = FBCommon.GetPassAwardList(mapID, funcLineID)
GameWorld.DebugLog("过关奖励: mapID=%s,funcLineID=%s,itemList=%s" % (mapID, funcLineID, itemList))
- 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]
+ awardDict.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList)})
# 首通不扣次数
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)
+ PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBZhanchui, funcLineID)
return
def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, dataEx):
@@ -79,26 +72,16 @@
itemList += FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s,itemList=%s" % (mapID, lineID, sweepCnt, itemList))
- addPer = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_FBZhanchuiAwardPer)[0] # 扫荡奖励百分比
- if addPer:
- GameWorld.DebugLog("红颜额外增加扫荡奖励百分比: %s, itemList=%s" % (addPer, itemList))
- itemListEx = []
- for itemInfo in itemList:
- itemID = itemInfo[0]
- itemCount = itemInfo[1]
- addCount = int(itemCount * addPer / 100.0)
- if addCount > 0:
- itemListEx.append([itemID, addCount, 1]) # 标记是红颜效果额外获得的
- itemList += itemListEx
- GameWorld.DebugLog("itemListEx=%s,itemList=%s" % (itemListEx, 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
jsonItemList = []
for itemInfo in itemList:
- itemID = itemInfo[0]
- itemCount = itemInfo[1]
itemDict = {"ItemID":itemInfo[0], "Count":itemInfo[1]}
if len(itemInfo) > 2:
itemDict['BeautyEx'] = itemInfo[2]
--
Gitblit v1.8.0