From 73f586a3147b956b81e56aa6c6ffdfefa4cff1cc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 12 九月 2018 11:52:56 +0800 Subject: [PATCH] 3414 【后端】骑宠争夺boss血量成长 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py index 9490f73..9a89e05 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py @@ -1074,6 +1074,37 @@ GameWorld.Log("骑宠争夺仙盟击杀Boss数统计: %s" % PyGameData.g_familyKillHorsePetRobBossCntDict) return +def SyncMapServer_HorsePetRobBossPlayerCount(): + ## 活动开始前,同步有效活动人数到地图,作为Boss属性成长系数用 + + diffWorldLV = int(IpyGameDataPY.GetFuncCfg("FairyGrabBossID", 3)) + funcLimitLV = PlayerControl.GetFuncLimitLV(ShareDefine.GameFuncID_HorsePetRobBoss) + curWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv) + minLV = max(funcLimitLV, curWorldLV + diffWorldLV) + + playerCount = 0 + playerManager = GameWorld.GetPlayerManager() + for i in xrange(playerManager.GetActivePlayerCount()): + findPlayer = playerManager.GetActivePlayerAt(i) + if findPlayer == None or not findPlayer.GetInitOK(): + continue + + if PlayerControl.GetIsTJG(findPlayer): + continue + + if not findPlayer.GetFamilyID(): + continue + + if findPlayer.GetLV() < minLV: + continue + + playerCount += 1 + + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_HorsePetRobBossPlayerCount, playerCount) + GameWorld.Log("同步骑宠争夺有效参与人数: playerCount=%s,minLV=%s,funcLimitLV=%s,curWorldLV=%s,diffWorldLV=%s" + % (playerCount, minLV, funcLimitLV, curWorldLV, diffWorldLV)) + return + def OnHorsePetRobBossActionChange(isOpen): ## 骑宠争夺活动状态变更 -- Gitblit v1.8.0