From b61fe6ed796dfeb1a7ed718d8099d6edb05f36f6 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 22 一月 2019 19:16:12 +0800 Subject: [PATCH] 6001 【后端】【1.5.100】七日巡礼增加条件 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py index 77a8376..e0f375e 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py @@ -49,6 +49,7 @@ FBDict_BossTotalHP = 'FBDict_BossTotalHP' #BOSS血量 FBDict_LastHurtTick = 'FBDict_LastHurtTick' #上次伤害时间 FBDict_HasGiveAward = 'FBDict_HasGiveAward' # 是否有给奖励 +FBDict_HasAddCnt = 'FBDict_HasAddCnt' # 是否有扣次数 # 副本通用配置 ( @@ -191,7 +192,14 @@ # @remarks 玩家主动离开副本. def DoExitFB(curPlayer, tick): # 玩家退出默认关闭副本 - #GameWorldProcess.CloseFB(tick) + gameFB = GameWorld.GetGameFB() + fbStep = gameFB.GetFBStep() + if fbStep == FB_State_FreeTime: + #退出时,若s级则补发奖励 + curStar = gameFB.GetGameFBDictByKey(FBDict_FBStar) + if curStar == Def_MaxStar: + __GiveFBPassPrize(curPlayer) + GameWorldProcess.CloseFB(tick) return @@ -317,6 +325,12 @@ gameFB.SetGameFBDict(FBDict_BossTotalHP, totalHP * 1000) gameFB.SetGameFBDict(FBDict_Speed, 1000) #速度默认1000 gameFB.SetGameFBDict(FBDict_RemainHP, totalHP * 1000) + gameFB.SetGameFBDict(FBDict_IsReduceing, 0) + gameFB.SetGameFBDict(FBDict_LastHurtTick, 0) + gameFB.SetGameFBDict(FBDict_HasGiveAward, 0) + gameFB.SetGameFBDict(FBDict_StartTick, 0) + gameFB.SetGameFBDict(FBDict_FBStar, 0) + prepareTick = __GetZhuXianCfg()[Def_PrepareTime] * 1000 FBCommon.Sync_Player_TimeTick(IPY_GameWorld.tttAddUpTime, prepareTick) FBCommon.Sync_Player_TimeTick(IPY_GameWorld.tttWaitStart, prepareTick) @@ -407,7 +421,8 @@ # 给过关奖励 prizeItemList = __GiveFBPassPrize(curPlayer, False) - prizeDict = {FBCommon.Over_costTime:costTime, FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(prizeItemList)} + prizeDict = {FBCommon.Over_costTime:costTime, FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(prizeItemList), + FBCommon.Over_grade:curStar} __SendZhuXianTowerOverInfo(curPlayer, fbLevel, True if prizeItemList else False, prizeDict) #任务 @@ -463,8 +478,10 @@ for itemID, itemCnt, isBind in prizeItemList: ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem], event=["ZhuXianTower", False, {}]) - - FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_ZhuXianTower, 1) + #本次副本里第一次给奖励时扣次数 + if not gameFB.GetGameFBDictByKey(FBDict_HasAddCnt): + FBCommon.AddEnterFBCount(curPlayer, ChConfig.Def_FBMapID_ZhuXianTower, 1) + gameFB.SetGameFBDict(FBDict_HasAddCnt, 1) gameFB.SetGameFBDict(FBDict_HasGiveAward, 1) @@ -562,7 +579,7 @@ #领取奖励 if fbStep != FB_State_FreeTime: return - __GiveFBPassPrize(curPlayer, False) + __GiveFBPassPrize(curPlayer) return -- Gitblit v1.8.0