| | |
| | | import copy
|
| | | import time
|
| | |
|
| | | DefStoveTypeList = [1, 2] #1灵丹 2仙丹
|
| | | DefStoveType1 = 1 #1灵丹 |
| | | DefStoveType2 = 2 #2仙丹
|
| | |
|
| | |
|
| | | ##功能开启
|
| | |
| | | GameWorld.DebugLog('开炉丹药,时间未到 passTime=%s' % passTime)
|
| | | return
|
| | | #成功率
|
| | | if alchemType == 2:
|
| | | if alchemType == DefStoveType2:
|
| | | successRate = ShareDefine.Def_MaxRateValue #仙丹必定成功
|
| | | else:
|
| | | #灵丹成功率公式 参数 curLuckValue:慧根 alchemyLV:炼丹等级 alchemyQuality:丹药等级 qualityNeedLuck:要求慧根
|
| | | alchemyQuality = alchemyIpyData.GetAlchemyQuality()
|
| | | qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(alchemyQuality, 0)
|
| | | qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(str(alchemyQuality), 0)
|
| | | successRate = eval(IpyGameDataPY.GetFuncCompileCfg('alchemySuccess'))
|
| | | isSuccess = GameWorld.CanHappen(successRate)
|
| | | resultCnt = 0 #丹药数量 0代表失败
|
| | |
| | | if needSpace > packSpace:
|
| | | PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
|
| | | return
|
| | | ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
|
| | | if not ipyData:
|
| | | GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
|
| | | return
|
| | | resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
|
| | | if alchemType == DefStoveType2:
|
| | | resultCnt = 1 #仙丹必定为1
|
| | | else:
|
| | | ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
|
| | | if not ipyData:
|
| | | GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
|
| | | return
|
| | | resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
|
| | | if not resultCnt:
|
| | | GameWorld.ErrLog('AlchemyResult 配置错误 未随机出该丹方数量alchemyItemID=%s' % alchemyItemID, playerID)
|
| | | return
|