From ca4de46e0beb47d7ec1dfa3817f59e2ba885bf76 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 16 十一月 2020 19:52:47 +0800
Subject: [PATCH] 4862 【主干】【长尾】【BT】宝箱支持部分拍品、非拍品配置
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 47 +++++++++++++++++++++++++++--------------------
1 files changed, 27 insertions(+), 20 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
index ca9a2d2..039f07e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py
@@ -391,6 +391,9 @@
# % (bossInfoObj.BossID, bossInfoObj.IsAlive, bossInfoObj.KillRecord,
# killedTime, bossInfoObj.RefreshSecond))
+ if not bossInfo.BossInfoList:
+ return
+
bossInfo.BossCnt = len(bossInfo.BossInfoList)
if not curPlayer:
# 全服广播在线玩家
@@ -429,6 +432,9 @@
if mapID in ChConfig.Def_CrossMapIDList:
continue
bossPrizeRec = __GetBossRecDataByID(bossID)
+ refreshTimeStr = ipyData.GetRefreshTime()
+ if not refreshTimeStr or refreshTimeStr == "0":
+ continue
killedTime = bossPrizeRec.GetValue2()
refreshTime = __GetBossRefreshTime(bossID)
PyGameData.g_sortBOSSRefreshList.append([bossID, killedTime, refreshTime])
@@ -450,7 +456,7 @@
break
#此处只处理复活的
- PlayerGeTui.GeTuiBossReborn(bossID)
+ #PlayerGeTui.GeTuiBossReborn(bossID)
__SetIsAlive(bossID, 1)
syncBOSSIDList.append(bossID)
@@ -465,24 +471,25 @@
#BOSS个推提前倒计时通知处理, 复活由DoCheckWorldBossReborn处理
def ProcessBossGeTui(tick):
- if not GameWorld.SetWorldDictKey(ChConfig.TYPE_WorldBossGeTuiTick, tick):
- #间隔未到
- return
- if GameWorld.IsCrossServer():
- return
- curTime = int(time.time())
- for bossInfo in PyGameData.g_sortBOSSRefreshList:
- bossID, killedTime, refreshTime = bossInfo
- isAlive = __GetIsAlive(bossID)
- if isAlive:
- #GameWorld.DebugLog(" bossID=%s,未被击杀!" % bossID)
- continue
- rebornSecond = max(0, refreshTime - (curTime - killedTime))
- if not rebornSecond:
- #不处理复活BOSS
- continue
-
- PlayerGeTui.GeTuiBoss(bossID, rebornSecond)
+ return
+# if not GameWorld.SetWorldDictKey(ChConfig.TYPE_WorldBossGeTuiTick, tick):
+# #间隔未到
+# return
+# if GameWorld.IsCrossServer():
+# return
+# curTime = int(time.time())
+# for bossInfo in PyGameData.g_sortBOSSRefreshList:
+# bossID, killedTime, refreshTime = bossInfo
+# isAlive = __GetIsAlive(bossID)
+# if isAlive:
+# #GameWorld.DebugLog(" bossID=%s,未被击杀!" % bossID)
+# continue
+# rebornSecond = max(0, refreshTime - (curTime - killedTime))
+# if not rebornSecond:
+# #不处理复活BOSS
+# continue
+#
+# PlayerGeTui.GeTuiBoss(bossID, rebornSecond)
def GetBossIsAliveOrCanReborn(bossID):
@@ -1002,7 +1009,7 @@
return
rebornCnt = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_BossRebornCnt)
maxRebornCnt = IpyGameDataPY.GetFuncCfg('BossRebornTotalPoint', 3)
- if rebornCnt >= maxRebornCnt:
+ if maxRebornCnt and rebornCnt >= maxRebornCnt:
GameWorld.DebugLog(' boss复活已达到最大次数! maxRebornCnt=%s' % maxRebornCnt)
return
--
Gitblit v1.8.0