From e8de6f49693da0a4a1f7dbe0cec125342f15ce2c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 十一月 2025 17:34:47 +0800
Subject: [PATCH] 349 【配套功能】功能预告-服务端(修复主线关卡进度开启功能判断逻辑)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
index c419aac..1cdb7fb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Tianzi.py
@@ -25,8 +25,10 @@
import NetPackCommon
import IpyGameDataPY
import ShareDefine
+import PlayerTask
import PlayerMail
import DBDataMgr
+import TurnSkill
import ObjPool
def OnDay():
@@ -80,7 +82,8 @@
GameWorld.DebugLog("非今日天子考验! mapID=%s,funcLineID=%s != %s,bossID=%s" % (mapID, funcLineID, lineID, bossID))
return
- return True
+ PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_FBTianzi)
+ return True, funcLineID
def GetFBNPCInitAttr(curPlayer, turnFight, npcObj):
## 获取副本指定NPC初始化属性
@@ -90,7 +93,7 @@
return {}
return __getBossAttrDict(ipyDataList[0])
-def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer):
+def OnFBNPCKilledBefore(curPlayer, turnFight, gameObj, killer=None, useSkill=None):
## 副本NPC被击杀前处理,一般用于处理一些不被击杀的副本NPC逻辑
# @return: 可否被正常击杀
@@ -120,11 +123,12 @@
GameWorld.Log("天子考验全部血条被击杀! totalHPMax=%s,statDefValueTotal=%s" % (totalHPMax, statDefValueTotal))
return True
- gameObj.SetMaxHP(ipyDataNow.GetMaxHP(), True)
- gameObj.SetHP(hp, True)
+ gameObj.SetMaxHP(ipyDataNow.GetMaxHP(), False)
+ gameObj.SetHP(hp, False)
GameWorld.DebugLog("更新NPC血条: hpNum=%s,hp=%s/%s, statDefValueTotal=%s" % (hpNum, gameObj.GetHP(), gameObj.GetMaxHP(), statDefValueTotal))
+ TurnSkill.Sync_HPRefresh(turnFight, gameObj)
turnFight.SetDict("hpNum", hpNum)
- turnFight.syncHelp({"hpNum":hpNum})
+ #turnFight.syncHelp({"hpNum":hpNum})
gameObj.UpdInitBatAttr(__getBossAttrDict(ipyDataNow))
return False
@@ -179,10 +183,24 @@
#更新榜单
PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_Tianzi, todayHurtEx, todayHurt)
- itemList = __getTianziAwardList(todayHurt, bossID)
+ itemList = __getTianziAwardList(totalHurt, bossID)
+ overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), "totalHurt":totalHurt, "todayHurtTotal":todayHurtTotal})
+
+ turnFight.awardData = [lineID, bossID, itemList]
+ return
+
+def OnTurnFightAward(curPlayer, turnFight, mapID, funcLineID, awardData):
+ ## 回合战斗结算奖励
+ if not curPlayer:
+ return
+
+ if not awardData:
+ return
+
+ lineID, bossID, itemList = awardData
+
FBCommon.AddEnterFBCount(curPlayer, mapID)
ItemControler.GivePlayerItemOrMail(curPlayer, itemList, event=["Tianzi", False, {}], isNotifyAward=False)
- overMsg.update({FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), "totalHurt":totalHurt, "todayHurtTotal":todayHurtTotal})
SyncTianziInfo(curPlayer, lineID, bossID)
return
--
Gitblit v1.8.0