From 39b53de0a35949fe203ebee2aec40dbcc2395887 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期三, 29 八月 2018 14:47:15 +0800 Subject: [PATCH] fix:3028 【后端】免费寻宝增加多少次必出的保底库配置,和消耗仙玉的独立分开 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py index fbdfd98..71636d5 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py @@ -70,7 +70,7 @@ treasureType = clientData.TreasureType treasureIndex = clientData.TreasureIndex costType = clientData.CostType - + isFreeType = 1 if costType == 1 else 0 GameWorld.DebugLog("玩家寻宝: treasureType=%s,treasureIndex=%s,costType=%s,playerLV=%s" % (treasureType, treasureIndex, costType, playerLV), playerID) @@ -159,19 +159,19 @@ commItemRateList = GetUpdLuckyItemRateList(ipyData, curLuck, luckFormula, costType) # 常规产出物品格子饼图,幸运物品概率已变更 - curTreasureCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType)) # 当前已寻宝次数 + curTreasureCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType)) # 当前已寻宝次数 updTreasureCount = curTreasureCount + treasureCount - beSureCountDict = ipyData.GetGridItemRateList3() # 第x次必出产出格子编号饼图 + beSureCountDict = ipyData.GetFreeGridItemRateList3() if isFreeType else ipyData.GetGridItemRateList3() # 第x次必出产出格子编号饼图 GameWorld.DebugLog("已经寻宝次数=%s,当前幸运=%s,commItemRateList=%s" % (curTreasureCount, curLuck, commItemRateList), playerID) addScore = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 5)[treasureIndex] # 增加积分 - ensureCount = IpyGameDataPY.GetFuncCfg("TreasureSet", 1) # 每多少次触发保底产出库 - + ensureCount = IpyGameDataPY.GetFuncEvalCfg("TreasureSet", 1, {})[isFreeType] # 每多少次触发保底产出库 + ensureRateList = ipyData.GetFreeGridItemRateList2() if isFreeType else ipyData.GetGridItemRateList2() goodGridNumList = [ipyData.GetLuckyGridNum()] # 好物品格子编号 (幸运物品 + 必出 + 保底) - for gridRateList in ipyData.GetGridItemRateList3().values(): + for gridRateList in beSureCountDict.values(): for gridRateInfo in gridRateList: goodGridNumList.append(gridRateInfo[1]) - for gridRateInfo in ipyData.GetGridItemRateList2(): + for gridRateInfo in ensureRateList: goodGridNumList.append(gridRateInfo[1]) GameWorld.DebugLog("goodGridNumList=%s" % goodGridNumList, playerID) @@ -192,7 +192,7 @@ gridNum = GameWorld.GetResultByRandomList(gridNumRateList) GameWorld.DebugLog("到达次数必出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID) elif updTreasureCount % ensureCount == 0: - gridNumRateList = ipyData.GetGridItemRateList2() + gridNumRateList = ensureRateList gridNum = GameWorld.GetResultByRandomList(gridNumRateList) GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID) else: @@ -216,11 +216,11 @@ # 3. 次数保底 ensureGridNumList = [] if updTreasureCount / ensureCount > curTreasureCount / ensureCount: - for gridInfo in ipyData.GetGridItemRateList2(): + for gridInfo in ensureRateList: ensureGridNumList.append(gridInfo[1]) - gridNum = GameWorld.GetResultByRandomList(ipyData.GetGridItemRateList2()) + gridNum = GameWorld.GetResultByRandomList(ensureRateList) getGridResult.append(gridNum) - GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, ipyData.GetGridItemRateList2(), gridNum), playerID) + GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, ensureRateList, gridNum), playerID) # 4. 常规产出 doCount = 200 @@ -319,7 +319,7 @@ GameWorld.DebugLog("扣除仙玉,costGold=%s" % costGold, playerID) # 加数据 - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType), updTreasureCount) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType), updTreasureCount) if ipyData.GetLuckyGridNum() in getGridResult: updLuck = 0 PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureLuck % (treasureType), updLuck) -- Gitblit v1.8.0