From 5be8f0f08671591fcc9adff29a307cdbb0d3d22a Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期六, 29 九月 2018 00:35:18 +0800 Subject: [PATCH] 3428 子 【开发】神兽技能 / 【后端】神兽技能 -- 优化可叠加的同技能配置,高级技能叠加问题 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py | 36 +++++++++++++++++++++++------------- 1 files changed, 23 insertions(+), 13 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py index c20332f..a41384c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py @@ -1858,7 +1858,7 @@ ## 副本行为 - 鼓舞buff # @param curPlayer 玩家 # @param key 副本玩家字典key -# @param encourageType 1-铜钱 2-消耗绑玉或仙玉 +# @param encourageType 金钱类型 # @param tick 当前时间 # @param isMaxlv 是否直接满级 # @return None @@ -1875,21 +1875,20 @@ encourageLV = gameFB.GetPlayerGameFBDictByKey(curPlayerID, key) encourageCntKey = 'FbEncourageCnt_%s' % encourageType encourageCnt = gameFB.GetPlayerGameFBDictByKey(curPlayerID, encourageCntKey) - if encourageLV >= 10: + maxLV = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 2, {}).get(curMapID, 0) + if encourageLV >= maxLV: PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_93643") return if encourageCnt >= maxCnt: - if encourageType == 1: + if encourageType == IPY_GameWorld.TYPE_Price_Silver_Money: PlayerControl.NotifyCode(curPlayer, "Xjmj_CopperInspireFull") else: PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_93643") return - encourageCost = ipyData.GetMoneyCount() - if encourageType == 1: - costMoneyList = [[IPY_GameWorld.TYPE_Price_Silver_Money, encourageCost]] - else: - costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, ShareDefine.TYPE_Price_Gold_Paper_Money, encourageCost) + encourageCost = eval(ipyData.GetMoneyCount()) + + costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, encourageType, encourageCost) if not costMoneyList: return @@ -1910,7 +1909,8 @@ gameFB.SetPlayerGameFBDict(curPlayerID, key, encourageLV+1) gameFB.SetPlayerGameFBDict(curPlayerID, encourageCntKey, encourageCnt+1) #GameWorld.Log("FbEncourageBuff encourage nextLV=%s success" % encourageLV) - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_628920", [(encourageLV+1)*10]) + addHurtNum = IpyGameDataPY.GetFuncEvalCfg('FBEncourageBuff', 3, {}).get(curMapID, 0) + PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_628920", [(encourageLV+1)*addHurtNum]) SendFBEncourageInfo(curPlayer, encourageLV+1) #成就 PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FBEncourage, 1, [curMapID]) @@ -1964,15 +1964,25 @@ # @return None def SendFBEncourageInfo(curPlayer, lv): #//A3 0A 副本鼓舞信息通知 #tagMCFBEncourageInfo + curMapID = curPlayer.GetMapID() + curMapID = GetRecordMapID(curMapID) + ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('FbEncourage', {'DataMapID':curMapID}, True) + if not ipyDataList: + return encourageInfo = ChPyNetSendPack.tagMCFBEncourageInfo() encourageInfo.Clear() - #encourageInfo.LV = lv + encourageInfo.InfoList = [] encourageCntKey = 'FbEncourageCnt_%s' gameFB = GameWorld.GetGameFB() curPlayerID = curPlayer.GetID() - encourageInfo.Cnt1 = gameFB.GetPlayerGameFBDictByKey(curPlayerID, encourageCntKey%1) - encourageInfo.Cnt2 = gameFB.GetPlayerGameFBDictByKey(curPlayerID, encourageCntKey%2) - NetPackCommon.SendFakePack(curPlayer, encourageInfo) + for ipyData in ipyDataList: + inspireType = ipyData.GetInspireType() + packData = ChPyNetSendPack.tagMCFBEncourageCnt() + packData.MoneyType = inspireType + packData.EncourageCnt = gameFB.GetPlayerGameFBDictByKey(curPlayerID, encourageCntKey % inspireType) + encourageInfo.InfoList.append(packData) + encourageInfo.Cnt = len(encourageInfo.InfoList) + NetPackCommon.SendFakePack(curPlayer, encourageInfo) return ## 获取玩家所在副本区域福利倍值 -- Gitblit v1.8.0