| | |
| | |
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, 0)
|
| | | |
| | |
|
| | | SyncLuckyTreasureInfo(curPlayer)
|
| | | SyncLuckyTreasureResultInfo(curPlayer)
|
| | |
| | | greatItem = randomRateList[-1][1]
|
| | |
|
| | | curLuckyPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasurePoint)
|
| | | curLuckyCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_LuckyTreasureCnt)
|
| | | |
| | | maxLuckyPoint = actIpyData.GetLuckyPoint()
|
| | | singlePoint = IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 2)
|
| | | if curLuckyPoint + singlePoint >= maxLuckyPoint:
|
| | | giveItem = greatItem
|
| | | newLuckyPoint = 0
|
| | | else:
|
| | | randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
|
| | | if curLuckyCnt < IpyGameDataPY.GetFuncCfg('LuckyAppraisal', 3):
|
| | | #前X次鉴宝不能出大奖
|
| | | randomResultList = GameWorld.GetResultByRandomListEx(randomRateList[:-1], 1, [])
|
| | | else:
|
| | | randomResultList = GameWorld.GetResultByRandomListEx(randomRateList, 1, [])
|
| | | if len(randomResultList) != 1:
|
| | | GameWorld.DebugLog(' 开始幸运鉴宝 随机库结果 获取错误 !')
|
| | | return
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureFree, 1)
|
| | | #更新幸运值
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasurePoint, newLuckyPoint)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_LuckyTreasureCnt, curLuckyCnt + 1)
|
| | |
|
| | | for itemID, itemCount, isBind in [giveItem]:
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
|
| | | ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_LuckyTreasure, False, {"isFree":not hasFree}])
|
| | |
|
| | | SyncLuckyTreasureResultInfo(curPlayer, giveItem)
|
| | | return
|
| | |
| | | actIpyData = IpyGameDataPY.GetIpyGameData("ActLuckyTreasure", cfgID)
|
| | | if not actIpyData:
|
| | | return
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
|
| | | startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actIpyData)
|
| | | actInfo = ChPyNetSendPack.tagMCLuckyTreasureInfo()
|
| | | actInfo.Clear()
|
| | | actInfo.StartDate = GameWorld.GetOperationActionDateStr(actIpyData.GetStartDate(), openServerDay)
|
| | | actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actIpyData.GetEndDate(), openServerDay)
|
| | | actInfo.StartDate = startDateStr
|
| | | actInfo.EndtDate = endDateStr
|
| | | actInfo.ResetType = actIpyData.GetResetType()
|
| | | actInfo.LimitLV = actIpyData.GetLVLimit()
|
| | | actInfo.LuckyPoint = actIpyData.GetLuckyPoint()
|