From 9608b7eef80ecef4f92b7fa77b17cdc0d9b89635 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期六, 24 十一月 2018 15:08:07 +0800 Subject: [PATCH] 4715 冰晶矿脉修改(退出清BUFF,特殊怪通关副本) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py | 39 ++++++++++++++++++++++++++++----------- 1 files changed, 28 insertions(+), 11 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py index 32dd8df..d46382d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py @@ -31,6 +31,7 @@ import EventReport import ChPyNetSendPack import NetPackCommon +import BuffSkill import random import datetime @@ -218,6 +219,7 @@ # @param tick 时间戳 # @return 无意义 def DoExitFB(curPlayer, tick): + return ##玩家主动离开副本. @@ -227,6 +229,12 @@ def DoPlayerLeaveFB(curPlayer, tick): return +##玩家切换地图 +def DoPlayerChangeMapLogic(curPlayer): + tick = GameWorld.GetGameWorld().GetTick() + for buffID in IpyGameDataPY.GetFuncEvalCfg('IceLodeSpecial', 2): + BuffSkill.DelBuffBySkillID(curPlayer, buffID, tick) + return def OnPickUpItem(curPlayer, curItem, tick): return @@ -448,12 +456,7 @@ return False return True -## 执行副本杀怪逻辑 -# @param curPlayer 杀怪的人 -# @param curNPC 被杀的怪 -# @param tick 当前时间 -# @return None -def DoFB_Player_KillNPC(curPlayer, curNPC, tick): +def __OnKillNPC(attacker, curNPC, tick): gameFB = GameWorld.GetGameFB() npcid = curNPC.GetNPCID() npcCfg = GetIceLodeNPCCfg() @@ -468,8 +471,22 @@ remainNPCCnt = max(0, gameFB.GetGameFBDictByKey(FBPlayerDict_RemainNPCCnt) - 1) gameFB.SetGameFBDict(FBPlayerDict_RemainNPCCnt, remainNPCCnt) - if remainNPCCnt <=0: + if remainNPCCnt <=0 or npcid in IpyGameDataPY.GetFuncEvalCfg('IceLodeSpecial'): __DoIceLodeOver(True) + return + +def DoFB_Npc_KillNPC(attacker, curNPC, tick): + __OnKillNPC(attacker, curNPC, tick) + return + +## 执行副本杀怪逻辑 +# @param curPlayer 杀怪的人 +# @param curNPC 被杀的怪 +# @param tick 当前时间 +# @return None +def DoFB_Player_KillNPC(curPlayer, curNPC, tick): + __OnKillNPC(curPlayer, curNPC, tick) + # addPoint = GetPointByNPCID(npcid) # if not addPoint: @@ -562,10 +579,10 @@ FBCommon.Sync_Player_TimeTick(IPY_GameWorld.tttLeaveMap, FBCommon.GetFBLineStepTime(mapID)[Def_LeaveTime] * 1000) # 清怪,关闭刷怪 - FBCommon.ClearFBNPC() - npcCfg = GetIceLodeNPCCfg() - for npcInfo in npcCfg: - NPCCustomRefresh.CloseNPCRefresh(npcInfo[Def_RefreshMark], tick) +# FBCommon.ClearFBNPC() +# npcCfg = GetIceLodeNPCCfg() +# for npcInfo in npcCfg: +# NPCCustomRefresh.CloseNPCRefresh(npcInfo[Def_RefreshMark], tick) return -- Gitblit v1.8.0