|  |  | 
 |  |  | 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
 |