From 5dfc9bf567fdf69a0ee8899c4966ce64b4cfe5ad Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 12 三月 2026 12:07:54 +0800
Subject: [PATCH] 547 【红颜系统】新增红颜-服务端(新增激活方式8-定军阁层;新增红颜特殊效果5-遣散/吞噬额外返还;统一A801、0320物品获得标记;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py | 39 +++++++++++++++++++--------------------
1 files changed, 19 insertions(+), 20 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 67867c2..5f19cd4 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
@@ -16,9 +16,12 @@
#-------------------------------------------------------------------------------
import GameWorld
+import PlayerGubao
import ItemControler
import PlayerBeauty
import FBCommon
+import PlayerSuccess
+import ShareDefine
import PlayerTask
import ChConfig
@@ -31,13 +34,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
@@ -48,20 +50,7 @@
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)
@@ -69,6 +58,8 @@
ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_FBZhanchui)
+ #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBZhanchui, 1)
+ __onFBAward(curPlayer)
return
def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, dataEx):
@@ -83,9 +74,10 @@
itemList += FBCommon.GetSweepAwardList(mapID, lineID, sweepCnt)
GameWorld.DebugLog("白骨盈野扫荡: mapID=%s,lineID=%s,sweepCnt=%s,itemList=%s" % (mapID, lineID, sweepCnt, itemList))
+ isBind = ItemControler.GetIsBindValue(srcSign=ChConfig.ItemSrcSign_BeautyEff)
exItemCount, exItemID = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_FBZhanchuiItemEx) # 扫荡额外物品奖励
if exItemCount and exItemID:
- itemList += [[exItemID, exItemCount, 1]] # 标记是红颜效果额外获得的
+ itemList += [[exItemID, exItemCount, isBind]] # 标记是红颜效果额外获得的
GameWorld.DebugLog("红颜额外增加扫荡物品奖励: exItemID=%s, exItemCount=%s, itemList=%s" % (exItemID, exItemCount, itemList))
ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Zhanchui", False, {}], isNotifyAward=False)
@@ -95,9 +87,16 @@
for itemInfo in itemList:
itemDict = {"ItemID":itemInfo[0], "Count":itemInfo[1]}
if len(itemInfo) > 2:
- itemDict['BeautyEx'] = itemInfo[2]
+ itemDict['IsBind'] = itemInfo[2]
jsonItemList.append(itemDict)
overDict = {FBCommon.Over_itemInfo:jsonItemList, FBCommon.Over_isSweep:1}
FBCommon.NotifyFBOver(curPlayer, mapID, lineID, isPass, overDict)
+ PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAFBZhanchui, 1)
+ __onFBAward(curPlayer)
return True
+
+def __onFBAward(curPlayer):
+ ## 过关、扫荡都算
+ PlayerGubao.AddGubaoSpecEffLayer(curPlayer, PlayerGubao.GubaoEffType_Zhanchui, 1)
+ return
--
Gitblit v1.8.0