From 2b34924e06c0c36d77d9ccec4c4f10f1ebd16e84 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 九月 2025 19:03:17 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(NPC表加特长字段;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py |   44 +++++++++++++++-----------------------------
 1 files changed, 15 insertions(+), 29 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
index 3754746..e3ba0a0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
@@ -15,12 +15,27 @@
 #"""Version = 2017-09-05 21:30"""
 #-------------------------------------------------------------------------------
 
+g_loadDataOK = False # 是否成功加载数据,备档、db数据
+g_lastRTBTime = 0 # 上一次备档时间戳
 g_initGameTime = 0 # 开始初始化服务器时间戳
 g_serverInitOK = False # 服务器是否启动成功
 g_highProcessTick = 0 # 每秒触发一次,上次Tick
 g_minuteProcess = -1 # 每分钟触发一次,上次处理的分钟
+g_serverClosing = 0 # 是否关服中 0-非关服中;1-关服中;2-关服结束
+g_closeSaveDataOK = False # 关服数据入库是否成功
+
+g_objPoolMgr = None # 对象池管理器
+g_batObjMgr = None # 战斗对象管理
 
 g_pyGameDataManager = None
+
+g_dbPlayerIDMap = {} # 本服DBPlayer玩家表ID映射关系 {playerID:accID, ...}
+
+g_onlineMgr = None
+
+g_turnFightMgr = None
+
+g_arenaPlayerMatchDict = {} # 本服竞技场玩家匹配记录缓存 {playerID:[tagPlayerID, ...], ...}
 
 g_mapIDTxtInfo = {} # MapID.txt 加载的信息
 g_realmDiffPlayerDict = {} # 境界难度玩家信息 {realm:[playerID, ...], ...}
@@ -38,9 +53,6 @@
 g_stoneLevelIDDict = {} # 宝石类型等级对应物品ID {(stoneEffType, stoneLevel):itemID, ...}
 
 g_refreshAttrBillboardFunc = [] # 刷属性后需要触发的同步排行榜函数列表
-g_playerFuncAttrDict = {} # 玩家功能点属性 {playerID:{funcIndex:属性列表, ...}, ...}
-g_playerEquipPartAttrDict = {} # 玩家装备位养成属性 {playerID:{阶:[强化属性列表, 宝石属性列表, 洗练属性列表], ...}, ...}
-g_equipChangeClassLVInfo = {} # 玩家装备变更的装备阶信息 {playerID:[classLV, ...], ...}
 
 g_filterEquipDict = {} # 按装备条件过滤的装备ID,不分职业 {"classLV_color_star":{(itemJob,itemPlace):itemID, ...}, ...}
 
@@ -51,9 +63,6 @@
 g_teamPlayerDict = {} # 地图队伍对应玩家ID列表,含离线玩家 {teamID:[playerID, ...], ...}
 g_teamPlayerInfoDict = {} # 地图队伍对应玩家ID信息 {teamID:{playerID:{k:v, ...}, ...}
 
-g_funcTeamPlayerDict = {} # 功能队伍玩家ID列表 {(zoneID, funcMapID): {teamID:[playerID, ...], ...}, ...}
-
-g_unLoginOKPlayerMailInfo = {} # GameServer 未登录成功前需要发送的邮件缓存,防止登录失败不存db导致重复发送邮件 {playerID:[[待发送邮件内容信息], ...], ...}
 g_disconnectPlayer = {} # 在本地图离线的玩家信息 {playerID:[tick, posX, posY], ...}
 g_lastExitFBType = {} # 最后一个离开副本信息 {fbIndex:[exitType, tick], ...} exitType: 1-掉线,2-主动退出
 
@@ -64,13 +73,10 @@
 FBOpenTimeRecord = {} #限时副本开启时间记录
 
 VSFamilyInfo = [] # 仙盟联赛开启的副本信息 [是否最终决赛场次, roundNum, groupID, [familyIDA, failyIDB], [familyNameA, familyNameB], [familyRankA, familyRankB]]
-g_familyKillHorsePetRobBossCntDict = {} # 骑宠争夺仙盟已击杀boss数 {familyID:击杀数, ...}
 
 g_PassiveEffManager = None  # 被动技能(效果)单例
 
 g_maliciousAttackDict = {} # 受到恶意攻击信息 {playerID:{atkPlayerID:atkTick, ...}}
-
-g_xmzzVSPlayerData = {} # 仙魔之争对手玩家属性信息 {lineID:vsPlayerPropData, ...}
 
 g_swrhPlayerHurtDict = {} #守卫人皇玩家伤害排行信息 {familyID:{playername:hurtvalue}}
 g_swrhPlayerIDDict = {} #守卫人皇参与玩家ID {familyID:[playerID,..]}
@@ -81,18 +87,12 @@
 
 g_delaySuccessDict = {} # 延迟处理成就
 
-g_bzzdRefreshNPCListDict = {} # 仙界秘境所需击杀的NPC队列 {lineID:[npcID, npcID, ...], ...}
-
 g_operationActionDict = {} # 本服运营活动信息 {actName:actInfo, ...}
 g_crossActInfoDict = {} # 跨服运营活动信息 {actName:actInfo, ...}
 
 g_npcKillerInfo = {} # NPC击杀者信息 {(lineID, objID, npcID):[killerDict, curTeam, hurtType, hurtID], ...}
 
-g_familyPartyInfo = {} #[ [[familyID, familyName, 答题数量]], top名字,top答题数量]
-
 g_elderBattleRobotDieDict = {} #上古战场机器人死亡时间{lineid:[]}
-
-g_fbHelpBattlePlayerDict = {} # 助战玩家信息 {playerID:{助战玩家ID:{助战玩家简要信息字典} ...}, ...}
 
 g_teamFBMemRelationDict = {} # 组队副本队员关系信息 {teamID:[[好友组合列表], {队员ID:家族ID, ...}], }
 g_teamFBMemRelationAddDict = {} # 组队副本队员关系加成信息 {playerID:[relation, relationAdd, relationPlayerID, relationPlayerName], ...}    
@@ -101,8 +101,6 @@
 g_fightpowerChangeDataRecordDict = {} #导致战力降低的各种行为记录
 
 g_fbRobotJobDict = {} #副本机器人职业  {lineID:{objID:job, ...}, ...}
-
-g_gathersoulfbAwardDict = {} #聚魂副本奖励记录{playerID:[[itemID,itemCnt]]}
 
 g_luckyCloudBuyInfo = {} # 幸运云购最新一期信息
 
@@ -115,21 +113,9 @@
 g_crossPlayerItemsChangeInfo = {} #跨服玩家物品变化信息 {playerID:{"背包类型-物品位":itemMD5, ...}, ...}
 g_crossPlayerSkillsChangeInfo = {} #跨服玩家技能变化信息 {playerID:[技能ID], ...}
 
-g_crossBattlefieldCallTeamInfo = {} # 跨服战场召集队伍信息 {zoneID:{hmNum:{playerID:{"callPlayerIDList":[召集队伍玩家ID列表], "factionID":阵营ID}, ...}, ...}, ...}
-g_crossBattlefieldSysCallBuyList = [] # 跨服战场系统场次购买召集玩家ID列表 [playerID, ...]
-
-g_ZhuXianBossPlayerHurtDict = {} #诛仙BOSS玩家伤害排行信息
-
-g_Qudao_DoubleBill = {} # 渠道删档充值返利
-
-g_familyBossHurtPlayerDict = {} # 仙盟boss战斗玩家 {playerID:BattlePlayer, ...}
-g_allfamilyBossDict = {} # 多仙盟boss信息 {familyID:[familyName, 伤害, [playerID], ...}
-g_horsePetBossPlayerHurtDict = {} #骑宠boss信息 {lineID:{playerID:[playerName,hurt]}}
-
 g_crossFuncLineDataCache = {} # 动态分配的跨服虚拟分线数据缓存 {(mapID, copyMapID):funcLineDataCache, ...}
 g_crossPlayerServerGroupIDInfo = {} #跨服玩家服务器组ID缓存,副本线路关闭时才释放,所以支持离线跨服玩家 {copyMapID:{playerID:serverGroupID, ...}, ...}
 g_fbBuyBuffTimeDict = {} # 副本购买buff时间缓存{playerID:{moneyCnt:time}}
-g_fairyDomainLimit = [] #全服已限制的缥缈仙域事件
 g_elemntSkillDict = {} #{skillID:[attrID*100000+needValue,..]}
 
 g_coupleInfo = {} # {playerID:[coupleID, coupleName], ...}

--
Gitblit v1.8.0