From 0d0a2ff5d04a605abf0092c054ea801936d23b17 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 14 一月 2019 22:00:21 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(跨服采集支持,采集支持配置共享采集次数) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py index fc75233..b936a48 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py @@ -593,16 +593,20 @@ if tagObj.GetGameObjType() != IPY_GameWorld.gotNPC: return curNPC = GameWorld.GetNPCManager().GetNPCByIndex(tagObj.GetIndex()) - DoCollectingLostHP(curPlayer, curNPC.GetNPCID(), tick, False) + if not curNPC: + return FBLogic.OnCollecting(curPlayer, tick) + npcID = curNPC.GetNPCID() + collectNPCIpyData = IpyGameDataPY.GetIpyGameData("CollectNPC", npcID) + if collectNPCIpyData: + DoCollectingLostHP(curPlayer, collectNPCIpyData, tick, False) return -def DoCollectingLostHP(curPlayer, npcID, tick, isEnd): +def DoCollectingLostHP(curPlayer, collectNPCIpyData, tick, isEnd): ## 执行采集掉血 - CollectNPCLostHPCfg = ReadChConfig.GetEvalChConfig("CollectNPCLostHP") - if npcID not in CollectNPCLostHPCfg: + if not collectNPCIpyData.GetLostHPPer(): return - lostSecond, lostHPPer = CollectNPCLostHPCfg[npcID] + lostSecond, lostHPPer = collectNPCIpyData.GetLostHPPer() lastTick = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CollectLostHPTick) lostTime = (tick - lastTick) / (lostSecond * 1000.0) # 掉血次数 if isEnd: @@ -616,6 +620,7 @@ lostValue = int(GameObj.GetMaxHP(curPlayer) * lostHPPer / 100.0) * lostTime skillTypeID, buffOwner = 0, None SkillCommon.SkillLostHP(curPlayer, skillTypeID, buffOwner, lostValue, tick) + GameWorld.DebugLog("采集掉血: npcID=%s,lostHPPer=%s,lostTime=%s,lostValue=%s" % (collectNPCIpyData.GetNPCID(), lostHPPer, lostTime, lostValue)) return @@ -656,8 +661,6 @@ if not curNPC: return - - DoCollectingLostHP(curPlayer, curNPC.GetNPCID(), tick, True) result = FBLogic.OnCanCollect(curPlayer, curNPC, tick) -- Gitblit v1.8.0