From 0c3ef8a641c968e6a2f51abeb84f890342e4cb0c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 15 十二月 2025 11:42:13 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化效果6011可指定检查自己还是检查目标的buff;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 50 +++++++++++++++++++-------------------------------
1 files changed, 19 insertions(+), 31 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index 322f90c..20c26fb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -20,13 +20,10 @@
import GameWorldProcess
import CrossRealmPlayer
import DataRecordPack
-import IpyGameDataPY
-import PlayerSuccess
import ReadChConfig
import ShareDefine
import PyGameData
import FBCommon
-import GameMap
import GameObj
import random
@@ -551,8 +548,6 @@
#注册玩家离开副本时间
gameFBMgr.SetPlayerLogoffTick(0)
-
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_EnterMap, 1, [gameMapID])
if gameFBMgr.HaveFBPlayer(curPlayerID):
#已经注册了这个玩家, 不清除已注册的玩家的字典信息
@@ -1311,9 +1306,6 @@
if mapID in value:
return key
- if mapID in FBCommon.GetGeneralTrainMapIDList():
- return "GeneralTrain"
-
#for key , value in ReadChConfig.GetEvalChConfig("MapID_ProcessPy").items():
# if mapID in value:
# return key
@@ -1481,21 +1473,6 @@
return False
return callFunc()
-
-
-## 获得特殊副本npc掉落金钱
-# @param curPlayer
-# @return None
-def OnGetNPCExp(curPlayer, curNPC):
- do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
-
- callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnGetNPCExp"))
-
- if not callFunc:
- return 0
-
-
- return callFunc(curPlayer, curNPC)
## 获得外层经验倍率
def OnGetOuterExpRate(curPlayer):
@@ -2246,14 +2223,14 @@
def OnTurnFightRequest(curPlayer, mapID, funcLineID, tagType, tagID, valueList):
## 回合战斗请求 - 地图验证
- # @return: 是否允许
+ # @return: 是否允许, 后端验证通过的funcLineID
do_FBLogic_ID = __GetFBLogic_MapID(mapID)
callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightRequest"))
if callFunc == None:
# 默认不限制
- return True
+ return True, funcLineID
return callFunc(curPlayer, mapID, funcLineID, tagType, tagID, valueList)
@@ -2281,7 +2258,7 @@
return callFunc(curPlayer, mapID, funcLineID)
-def GetFBNPCInitAttr(curPlayer, turnFight, npcObj):
+def GetFBNPCInitAttr(turnFight, npcObj):
## 获取副本指定NPC初始化属性
do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
@@ -2289,9 +2266,9 @@
if callFunc == None:
return
- return callFunc(curPlayer, turnFight, npcObj)
+ return callFunc(turnFight, npcObj)
-def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer):
+def OnFBNPCKilledBefore(turnFight, gameObj, killer=None, useSkill=None):
## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑
# @return: 可否被正常击杀
do_FBLogic_ID = __GetFBLogic_MapID(turnFight.mapID)
@@ -2301,7 +2278,7 @@
# 不需要逻辑时默认可被正常击杀
return True
- return callFunc(curPlayer, turnFight, gameObj, killer)
+ return callFunc(turnFight, gameObj, killer, useSkill)
def OnPlayerLineupAttackResult(curPlayer, atkObj, killObjList, useSkill, mapID, funcLineID):
## 回合战斗主动发起的玩家阵容攻击结果额外处理 ,一般处理副本相关的掉落、奖励等
@@ -2314,7 +2291,7 @@
return
-def OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg):
+def OnTurnFightOver(turnFight, mapID, funcLineID, overMsg):
## 回合战斗结束
do_FBLogic_ID = __GetFBLogic_MapID(mapID)
@@ -2324,5 +2301,16 @@
if callFunc == None:
return
- return callFunc(curPlayer, turnFight, mapID, funcLineID, overMsg)
+ return callFunc(turnFight, mapID, funcLineID, overMsg)
+def OnTurnFightAward(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict):
+ ## 回合战斗结算奖励
+
+ do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+
+ callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnTurnFightAward"))
+
+ if callFunc == None:
+ return
+
+ return callFunc(curPlayer, guid, mapID, funcLineID, winFaction, statMsg, dateStr, reqData, awardDict)
--
Gitblit v1.8.0