From 46ce4580fdcf6c8e62ceeeaa52694d201ad50c50 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 11 九月 2018 20:00:29 +0800 Subject: [PATCH] 3414 【后端】骑宠争夺对boss伤害衰减buff --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 37 ++++++++++++++++++++++++++++++++++--- 1 files changed, 34 insertions(+), 3 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py index f822b27..9490f73 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py @@ -112,8 +112,8 @@ isMapNeedShunt = IsMapNeedBossShunt(mapID) isAlive = __GetIsAlive(bossID) - GameWorld.DebugLog("击杀世界boss DoGameWorldBossOnKilled...bossID=%s,hurtValue=%s,mapID=%s,tick=%s,isMapNeedShunt=%s,isAlive=%s" - % (bossID, hurtValue, mapID, tick, isMapNeedShunt, isAlive)) + GameWorld.Log("击杀世界boss DoGameWorldBossOnKilled...bossID=%s,hurtValue=%s,mapID=%s,tick=%s,isMapNeedShunt=%s,isAlive=%s" + % (bossID, hurtValue, mapID, tick, isMapNeedShunt, isAlive)) if isMapNeedShunt and not isAlive: GameWorld.DebugLog("需要分流的地图boss被击杀,但是当前boss全局状态为死亡状态,不再更新boss击杀信息!") return @@ -134,7 +134,10 @@ # 全服广播世界boss变更信息 Sync_BossInfo(None, [bossID]) SendMapServerBossKilledCnt(bossID) - + + horsePetRobBossIDList = IpyGameDataPY.GetFuncEvalCfg("FairyGrabBossID", 1) + if bossID in horsePetRobBossIDList: + OnFamilyKillHorsePetRobBoss(killPlayerName) return def __UpdateBossRefreshList(bossID, killedTime=0, refreshTime=0): @@ -483,6 +486,10 @@ bossID = IpyGameDataPY.GetFuncCfg('DogzFBRefreshCfg', 2) onlineCnt = __GetBossOnlineHeroCnt(bossID)[0] GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_BossOnlineHeroCnt % bossID, onlineCnt) + + #仙盟击杀骑宠boss数 + if PyGameData.g_familyKillHorsePetRobBossCntDict: + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt, PyGameData.g_familyKillHorsePetRobBossCntDict) return @@ -1053,6 +1060,30 @@ ## ----------------------------------------------------------------------------------------------- +def OnFamilyKillHorsePetRobBoss(killFamilyName): + ## 仙盟击杀骑宠boss + + family = GameWorld.GetFamilyManager().FindFamilyByName(killFamilyName) + if not family: + GameWorld.ErrLog("找不到该仙盟名: killFamilyName=%s" % killFamilyName) + return + + familyID = family.GetID() + PyGameData.g_familyKillHorsePetRobBossCntDict[familyID] = PyGameData.g_familyKillHorsePetRobBossCntDict.get(familyID, 0) + 1 + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt, PyGameData.g_familyKillHorsePetRobBossCntDict) + GameWorld.Log("骑宠争夺仙盟击杀Boss数统计: %s" % PyGameData.g_familyKillHorsePetRobBossCntDict) + return + +def OnHorsePetRobBossActionChange(isOpen): + ## 骑宠争夺活动状态变更 + + # 无论开关都重置, 服务器活动中维护暂时不处理 + PyGameData.g_familyKillHorsePetRobBossCntDict = {} + GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyKillHorsePetRobBossCnt, PyGameData.g_familyKillHorsePetRobBossCntDict) + + + return + def MapServer_HorsePetRobBossHurtPlayer(msgInfo): ## 骑宠争夺boss伤血玩家同步 GameWorld.Log("骑宠争夺boss伤血玩家同步: %s" % str(msgInfo)) -- Gitblit v1.8.0