From 03f14ad4e3576ba4b9ce186e91d9763be7f13b08 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期五, 23 十一月 2018 23:41:49 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_IceLode.py | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 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 5371a4c..49e85bc 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 @@ -521,16 +521,16 @@ lineID = FBCommon.GetFBPropertyMark() star = GameWorld.GetGameFB().GetGameFBDictByKey(FBPlayerDict_FBStar) mapID = ChConfig.Def_FBMapID_IceLode - + isInFBOnDay = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IceLodeIsInFBOnDay) #更新星级 lastStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]) if isPass and star > lastStar: GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, star, False, [mapID]) FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息 - if not lastStar: #每日活动 + if not lastStar and not isInFBOnDay: #每日活动 PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode) - isInFBOnDay = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_IceLodeIsInFBOnDay) - if isInFBOnDay: #在副本里过天,副本结束后再补发奖励 + + if isInFBOnDay: #在副本里过天,副本结束后再补发星级奖励 CheckIceLodeStarAwardMail(curPlayer) # exp = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_TotalExp) # expPoint = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_TotalExpPoint) @@ -540,9 +540,22 @@ if not costTime: costTime = tick - GameWorld.GetGameFB().GetFBStepTick() #jsonItemList = PyGameData.g_fbPickUpItemDict.get(playerID, []) - jsonItemList = FBCommon.GetJsonItemList(FBCommon.GetFBLineReward(mapID, lineID)) + overDict = {FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime} + if isPass: + itemList = FBCommon.GetFBLineReward(mapID, lineID) + # 给物品 + needSpace = len(itemList) + packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace) + if needSpace > packSpace: + PlayerControl.SendMailByKey('', [curPlayer.GetID()], itemList) + else: + for itemID, itemCount, isBind in itemList: + ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem]) + + jsonItemList = FBCommon.GetJsonItemList(itemList) + overDict[FBCommon.Over_itemInfo] = jsonItemList # 通知结果 - __SendIceLodeOverInfo(curPlayer, {FBCommon.Over_isPass:int(isPass), FBCommon.Over_costTime:costTime, FBCommon.Over_itemInfo:jsonItemList}) + __SendIceLodeOverInfo(curPlayer, overDict) # 进入离开阶段 FBCommon.SetFBStep(FB_Step_Over, tick) @@ -577,6 +590,9 @@ ## 可否扫荡 def OnPlayerFBSweepAsk(curPlayer, mapID, lineID, sweepCnt, isFinish, dataEx): + if curPlayer.GetMapID() == ChConfig.Def_FBMapID_IceLode: + GameWorld.DebugLog('冰晶矿脉扫荡 副本里不能扫荡 ') + return #战力判断 LVIpyData = PlayerControl.GetPlayerLVIpyData(curPlayer.GetLV()) reFightPower = 0 if not LVIpyData else LVIpyData.GetIceLodeFightPower() # 当前等级参考战力 @@ -615,10 +631,15 @@ for itemID, itemCnt, isBind in itemList: ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem]) #直接将5条线星级改为3星 + addCnt = 0 starCnt, lineList = GetIceLodeAllStarCnt(curPlayer) for lineid in lineList: + curStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineID, False, [mapID]) + if curStar == 0: + addCnt += 1 GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, lineid, 3, False, [mapID]) - + PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_IceLode, addCnt) + FBCommon.Sync_FBPlayerFBInfoData(curPlayer, mapID) # 同步信息 # npcCountDict = {} # iceLodeSweepDict = IpyGameDataPY.GetFuncEvalCfg('IceLodeSweep') # for npcID, count in iceLodeSweepDict.items(): @@ -723,8 +744,10 @@ maxCnt, randomCnt = IpyGameDataPY.GetFuncEvalCfg('IceLodeCfg', 2) for i in xrange(maxCnt): GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, i, 0, False, [ChConfig.Def_FBMapID_IceLode]) + FBCommon.Sync_FBPlayerFBInfoData(curPlayer, ChConfig.Def_FBMapID_IceLode) # 同步信息 #重置领奖记录 PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeStarAwardRecord, 0) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeHasSweep, 0) #随机今日玩法 __RandomLine(curPlayer) #通知 -- Gitblit v1.8.0