From 01bb36eca00e1fcd14bef76d78a6aa2e1ce0d803 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 十二月 2019 18:52:26 +0800
Subject: [PATCH] 8346 【恺英】【后端】协助系统(添加第一名无归属时原因日志)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 3 +++
PySysDB/PySysDBPY.h | 1 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py | 17 +++++++++++++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 7 +------
4 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 1bc8309..45f8db4 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -942,6 +942,7 @@
{
DWORD _NPCID; //ID
DWORD MapID; //地图ID
+ BYTE RefreshLine; //刷新线路
BYTE RefreshMark; //刷新标识点
BYTE IsNeedShunt; //是否需要分流
BYTE RelatedType; //刷怪关联类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index d82feea..79173af 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -1730,7 +1730,7 @@
Def_FBMapID_MagicWeapon = 41110
#BOSS之家
-Def_FBMapID_BossHome = 31020
+Def_FBMapID_BossHome = 31270 #31020地图ID修改,不使用副本类型
#古神禁地
Def_FBMapID_GodArea = 31150
@@ -1839,11 +1839,6 @@
# 进入副本需要发送到GameServer的地图
Def_MapID_SendToGameServer = [Def_FBMapID_HorsePetBoss, Def_FBMapID_FamilyInvade, Def_FBMapID_FamilyBossMap, Def_FBMapID_SealDemon, Def_FBMapID_DemonKing,
Def_FBMapID_FamilyWar, Def_FBMapID_ZhuXianBoss, Def_FBMapID_AllFamilyBoss] + Def_MapID_LineIDToPropertyID
-
-## 进入副本需要根据请求的功能线路处理的地图, hxp-改了进入模式,暂不需要了 180320
-#Def_MapID_ReqFBFuncLine = [Def_FBMapID_KirinHome, Def_FBMapID_BZZD, Def_FBMapID_SealDemonEx,
-# Def_FBMapID_BossHome, Def_FBMapID_MunekadoTrial, Def_FBMapID_QueenRelics, Def_FBMapID_DuJie] \
-# + Def_FBMapID_ClearDevil
# 刷新标识点在无玩家的情况下也需要刷新的地图
Def_NoPlayerNeedProcessRefreshPointMap = [Def_FBMapID_HorsePetBoss, Def_FBMapID_SealDemon, Def_FBMapID_GodArea, Def_FBMapID_BossHome, Def_FBMapID_GatherSoul, Def_FBMapID_ZhuXianBoss, Def_FBMapID_AllFamilyBoss]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 052356e..dcbe31d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -776,6 +776,7 @@
"BOSSInfo":(
("DWORD", "NPCID", 1),
("DWORD", "MapID", 0),
+ ("BYTE", "RefreshLine", 0),
("BYTE", "RefreshMark", 0),
("BYTE", "IsNeedShunt", 0),
("BYTE", "RelatedType", 0),
@@ -3121,6 +3122,7 @@
def __init__(self):
self.NPCID = 0
self.MapID = 0
+ self.RefreshLine = 0
self.RefreshMark = 0
self.IsNeedShunt = 0
self.RelatedType = 0
@@ -3131,6 +3133,7 @@
def GetNPCID(self): return self.NPCID # ID
def GetMapID(self): return self.MapID # 地图ID
+ def GetRefreshLine(self): return self.RefreshLine # 刷新线路
def GetRefreshMark(self): return self.RefreshMark # 刷新标识点
def GetIsNeedShunt(self): return self.IsNeedShunt # 是否需要分流
def GetRelatedType(self): return self.RelatedType # 刷怪关联类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
index 3308367..2a17501 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
@@ -351,6 +351,7 @@
if GameWorld.IsCrossServer():
__DoRefreshWorldBossCrossServer(npcRefresh, tick)
return
+ rebornLineID = 0
mapID = GameWorld.GetMap().GetMapID()
refreshMark = npcRefresh.GetRefreshMark()
lineID = GameWorld.GetGameWorld().GetLineID()
@@ -366,7 +367,20 @@
bossID = GameLogic_ZhuXianBoss.CurFBLineBOSSID()
stoneNPCID = 0
else:
- ipyData = IpyGameDataPY.GetIpyGameDataByCondition('BOSSInfo', {'RefreshMark':refreshMark, 'MapID':mapID}, isLogNone=False)
+ ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('BOSSInfo', {'RefreshMark':refreshMark, 'MapID':mapID}, True, isLogNone=False)
+ if not ipyDataList:
+ return
+ if len(ipyDataList) == 1:
+ ipyData = ipyDataList[0]
+ else:
+ # 同地图同标试点有多条数据的则为不同指定分线
+ ipyData = None
+ for ipyD in ipyDataList:
+ refreshLine = ipyD.GetRefreshLine()
+ rebornLineID = refreshLine - 1
+ if rebornLineID == lineID:
+ ipyData = ipyD
+ break
if not ipyData:
return
stoneNPCID = ipyData.GetStoneNPCID()
@@ -391,7 +405,6 @@
bosskey = ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn % bossID
rebornBossState = gameWorldMgr.GetGameWorldDictByKey(bosskey)
- rebornLineID = 0
activityLineID = 0 # 活动线, 默认1线
activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {})
if mapID in activityMapLineDict:
--
Gitblit v1.8.0