From 985bdf70fd0022733f75bf2106e69c6de77c26b1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 28 十一月 2025 17:29:51 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(卑弥呼所有技能;技能表增加字段Buff保留-BuffRetain,支持死亡保留、复活保留;增加触发方式42-大回合开始时(死亡后有效);增加属性ID 73复活生命加成、74复活怒气加成;优化效果6014-支持失败次数额外概率;优化死亡、复活时的buff处理;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Zhanchui.py | 33 ++++++++++++++++++++++++++++++---
1 files changed, 30 insertions(+), 3 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 542529b..b88a642 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):
## 回合战斗请求
@@ -64,6 +67,8 @@
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):
@@ -74,13 +79,35 @@
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))
+ 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))
+
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:
+ itemID = itemInfo[0]
+ itemCount = itemInfo[1]
+ 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