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