From de44f98f2a8a2b0c12d3482162f1e30e796d7b94 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 08 一月 2026 16:27:02 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化伤害计算公式参数输出;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py | 32 +++++++++++++++-----------------
1 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
index fce4034..b370c04 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
@@ -29,7 +29,7 @@
import FBLogic
import IpyGameDataPY
import ShareDefine
-import NPCCommon
+import ChConfig
#---------------------------------------------------------------------
def OnLogin(curPlayer):
@@ -74,7 +74,7 @@
GameWorld.DebugLog("不存在该副本或线路无法扫荡!mapID=%s, lineID=%s" % (mapID, lineID))
return
- if not FBCommon.IsFBPass(curPlayer, mapID, lineID):
+ if mapID not in ChConfig.SweepUnCheckPassMapIDList and not FBCommon.IsFBPass(curPlayer, mapID, lineID):
GameWorld.DebugLog("未过关无法扫荡!mapID=%s, lineID=%s" % (mapID, lineID))
return
@@ -82,11 +82,10 @@
return
# 副本是否可扫荡, 这里只判断副本自身的特殊条件, 公共条件上面已经判断
- if not FBLogic.OnPlayerFBSweepAsk(curPlayer, mapID, lineID, cnt, dataEx):
+ askRet = FBLogic.OnPlayerFBSweepAsk(curPlayer, mapID, lineID, cnt, dataEx)
+ if not askRet:
GameWorld.DebugLog("该副本当前无法扫荡!mapID=%s, lineID=%s" % (mapID, lineID))
return
-
- #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_FBSweep, 1, [mapID])
#需先扣除门票, 再增加次数, 否则可能导致扣除的数量错误
#FBCommon.DelFBEnterTicket(curPlayer, mapID, lineID, cnt)
@@ -96,7 +95,7 @@
FBCommon.AddEnterFBCount(curPlayer, mapID, cnt)
#扫荡结果给奖励等
- FBLogic.OnPlayerFBSweepResult(curPlayer, mapID, lineID, cnt, dataEx)
+ FBLogic.OnPlayerFBSweepResult(curPlayer, mapID, lineID, cnt, dataEx, askRet)
return
#// B1 08 快速一键过关副本 #tagCMFBQuickPass
@@ -120,21 +119,20 @@
return
reqRet = FBLogic.OnPlayerFBQuickPass(curPlayer, mapID, lineID)
- if not reqRet or len(reqRet) != 2:
+ if not reqRet:
GameWorld.DebugLog("无法一键过关副本: mapID=%s,lineID=%s" % (mapID, lineID), playerID)
return
- bossID, quickCnt = reqRet
- if bossID:
- npcData = GameWorld.GetGameData().FindNPCDataByID(bossID)
- if not npcData:
- return
- npcFightPower = NPCCommon.GetSuppressFightPower(npcData)
+ lineID = reqRet[0]
+ quickCnt = reqRet[1] if len(reqRet) > 1 else 0
+ quickFightPower = reqRet[2] if len(reqRet) > 2 else 0
+ quickData = reqRet[3] if len(reqRet) > 3 else []
+ if quickFightPower:
quickNeedRatio = IpyGameDataPY.GetFuncCfg("FBQuickPass", 1)
- quickNeedFightPower = int(npcFightPower * quickNeedRatio)
+ quickNeedFightPower = int(quickFightPower * quickNeedRatio)
curFightPower = PlayerControl.GetFightPower(curPlayer)
if quickNeedFightPower and curFightPower < quickNeedFightPower:
- GameWorld.DebugLog("无法一键过关副本! 战力限制: mapID=%s,lineID=%s,bossID=%s,npcFightPower=%s,quickNeedFightPower=%s > %s"
- % (mapID, lineID, bossID, npcFightPower, quickNeedFightPower, curFightPower), playerID)
+ GameWorld.DebugLog("无法一键过关副本! 战力限制: mapID=%s,lineID=%s,quickFightPower=%s,quickNeedFightPower=%s > %s"
+ % (mapID, lineID, quickFightPower, quickNeedFightPower, curFightPower), playerID)
PlayerControl.NotifyCode(curPlayer, 'TaskFeedback4')
return
@@ -146,6 +144,6 @@
FBCommon.AddEnterFBCount(curPlayer, mapID, quickCnt)
#扫荡结果给奖励等
- FBLogic.OnPlayerFBQuickPassResult(curPlayer, mapID, lineID)
+ FBLogic.OnPlayerFBQuickPassResult(curPlayer, mapID, lineID, quickData)
return
--
Gitblit v1.8.0