| | |
| | | import ItemCommon
|
| | | import ItemControler
|
| | | import EventReport
|
| | | import EventShell
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import BuffSkill
|
| | |
| | | return
|
| | | starCnt, lineList = GetIceLodeAllStarCnt(curPlayer)
|
| | | if not lineList:
|
| | | __RandomLine(curPlayer)
|
| | | __RandomLine(curPlayer, lineList)
|
| | | SyncIceLoddInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def __RandomLine(curPlayer):
|
| | | def __RandomLine(curPlayer, oldlineList):
|
| | | # 随机今日玩法
|
| | | maxCnt, randomCnt = IpyGameDataPY.GetFuncEvalCfg('IceLodeCfg', 2)
|
| | | lineList = range(maxCnt)
|
| | | random.shuffle(lineList)
|
| | | for i, lineID in enumerate(lineList):
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_IceLoadLineID, lineID, 0 if i >= randomCnt else 1)
|
| | | newlineList = list(set(lineList) - set(oldlineList))
|
| | | if len(newlineList) < randomCnt:
|
| | | random.shuffle(oldlineList)
|
| | | newlineList += oldlineList[:randomCnt-len(newlineList)]
|
| | | else:
|
| | | random.shuffle(newlineList)
|
| | | newlineList = newlineList[:randomCnt]
|
| | | #random.shuffle(lineList)
|
| | | for lineID in lineList:
|
| | | GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_IceLoadLineID, lineID, 1 if lineID in newlineList else 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeDayLV, curPlayer.GetLV())
|
| | | GameWorld.DebugLog(' 随机冰晶矿脉今日玩法 lineList =%s'%(lineList[:randomCnt]), curPlayer.GetID())
|
| | | GameWorld.DebugLog(' 随机冰晶矿脉今日玩法 oldlineList=%s, newlineList =%s'%(oldlineList, newlineList), curPlayer.GetID())
|
| | | return
|
| | |
|
| | | ## 是否能够通过活动查询进入
|
| | |
| | |
|
| | | jsonItemList = FBCommon.GetJsonItemList(itemList)
|
| | | overDict[FBCommon.Over_itemInfo] = jsonItemList
|
| | | EventShell.EventRespons_FBEvent(curPlayer, 'icelode')
|
| | | # 通知结果
|
| | | __SendIceLodeOverInfo(curPlayer, overDict)
|
| | |
|
| | |
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_IceLoadLineID, i):
|
| | | starCnt += GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, i, False, [ChConfig.Def_FBMapID_IceLode])
|
| | | lineList.append(i)
|
| | | if len(lineList) != randomCnt:
|
| | | if lineList and len(lineList) != randomCnt:
|
| | | GameWorld.ErrLog(' 冰晶矿脉获取当前总星数,当前线路数量异常!lineList=%s'%lineList)
|
| | | return starCnt, lineList[:randomCnt]
|
| | |
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeStarAwardRecord, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_IceLodeHasSweep, 0)
|
| | | #随机今日玩法
|
| | | __RandomLine(curPlayer)
|
| | | __RandomLine(curPlayer, lineList)
|
| | | #֪ͨ
|
| | | SyncIceLoddInfo(curPlayer)
|
| | | return True
|