From 78f005e3fe86b6033255b37b03061cb491812dcb Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 24 一月 2019 15:07:35 +0800 Subject: [PATCH] 2936 【1.5.100】诛仙塔挑战失败也会给予奖励并扣除次数 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 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 28d6a65..72934b1 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,7 +49,7 @@ FBDict_BossTotalHP = 'FBDict_BossTotalHP' #BOSS血量 FBDict_LastHurtTick = 'FBDict_LastHurtTick' #上次伤害时间 FBDict_HasGiveAward = 'FBDict_HasGiveAward' # 是否有给奖励 - +FBDict_HasPass = 'FBDict_HasPass' # 是否有通关 # 副本通用配置 ( @@ -133,8 +133,10 @@ ##玩家切换地图 def DoPlayerChangeMapLogic(curPlayer): - curStar = GameWorld.GetGameFB().GetGameFBDictByKey(FBDict_FBStar) - if curStar != Def_MaxStar: + gameFB = GameWorld.GetGameFB() + fbStep = gameFB.GetFBStep() + curStar = gameFB.GetGameFBDictByKey(FBDict_FBStar) + if curStar != Def_MaxStar and fbStep == FB_State_FreeTime: FBCommon.UpdateFBEnterTick(curPlayer) return @@ -198,7 +200,8 @@ if fbStep == FB_State_FreeTime: #退出时,若s级则补发奖励 curStar = gameFB.GetGameFBDictByKey(FBDict_FBStar) - if curStar == Def_MaxStar: + hasPass = gameFB.GetGameFBDictByKey(FBDict_HasPass) + if hasPass and curStar == Def_MaxStar: __GiveFBPassPrize(curPlayer) GameWorldProcess.CloseFB(tick) return @@ -331,6 +334,7 @@ gameFB.SetGameFBDict(FBDict_HasGiveAward, 0) gameFB.SetGameFBDict(FBDict_StartTick, 0) gameFB.SetGameFBDict(FBDict_FBStar, 0) + gameFB.SetGameFBDict(FBDict_HasPass, 0) prepareTick = __GetZhuXianCfg()[Def_PrepareTime] * 1000 FBCommon.Sync_Player_TimeTick(IPY_GameWorld.tttAddUpTime, prepareTick) @@ -468,6 +472,9 @@ if gameFB.GetGameFBDictByKey(FBDict_HasGiveAward): GameWorld.Log('本层奖励已给,不能重复给!!', curPlayer.GetID()) return + hasPass = gameFB.GetGameFBDictByKey(FBDict_HasPass) + if not hasPass: + return # 发邮件或放入背包 needSpace = len(prizeItemList) @@ -519,6 +526,7 @@ overDict[FBCommon.Over_isPass] = int(isPass) GameWorld.DebugLog("__SendZhuXianTowerOverInfo overDict=%s" % (str(overDict)), curPlayer.GetPlayerID()) FBCommon.Notify_FB_Over(curPlayer, overDict) + GameWorld.GetGameFB().SetGameFBDict(FBDict_HasPass, int(isPass)) return -- Gitblit v1.8.0