| | |
| | | import EventReport
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import BuffSkill
|
| | |
|
| | | import random
|
| | | import datetime
|
| | |
| | | # @param tick 时间戳
|
| | | # @return 无意义
|
| | | def DoExitFB(curPlayer, tick):
|
| | | |
| | | return
|
| | |
|
| | | ##玩家主动离开副本.
|
| | |
| | | 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
|
| | |
| | | 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()
|
| | |
| | | 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:
|
| | |
| | | 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
|
| | |
|