Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
| | |
| | | list WorldLV; //世界等级
|
| | | list Rank; //排名
|
| | | list Award1; //奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
|
| | | dict Award2; //饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
|
| | | list Award2; //饼图奖励 [[(概率,[物品ID,数量,是否拍品]),..]]
|
| | | };
|
| | |
|
| | | //缥缈仙域表
|
| | |
| | | strValue1 = universalRecData.GetStrValue1()
|
| | | strValue1List = strValue1.split('|')
|
| | | playerID = strValue1List[0]
|
| | | if playerID:
|
| | | getWay = int(strValue1List[3])
|
| | | if playerID and getWay is ShareDefine.RedPackType_GoldPacket:
|
| | | playerID = int(playerID)
|
| | | grabRecordDict = __GetGrabRecord(redPacketID)
|
| | | outNum = sum([a[0] for a in grabRecordDict.values()]) #已被抢的钱
|
| | |
| | | ("list", "WorldLV", 0),
|
| | | ("list", "Rank", 0),
|
| | | ("list", "Award1", 0),
|
| | | ("dict", "Award2", 0),
|
| | | ("list", "Award2", 0),
|
| | | ),
|
| | |
|
| | | "FairyDomain":(
|
| | |
| | | self.WorldLV = []
|
| | | self.Rank = []
|
| | | self.Award1 = []
|
| | | self.Award2 = {} |
| | | self.Award2 = [] |
| | | return |
| | | |
| | | def GetLineID(self): return self.LineID # 线路ID
|
| | | def GetWorldLV(self): return self.WorldLV # 世界等级
|
| | | def GetRank(self): return self.Rank # 排名
|
| | | def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
|
| | | def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]} |
| | | def GetAward2(self): return self.Award2 # 饼图奖励 [[(概率,[物品ID,数量,是否拍品]),..]] |
| | | |
| | | # 缥缈仙域表 |
| | | class IPY_FairyDomain(): |
| | |
| | |
|
| | | if ItemCommon.GetIsEquip(itemData):
|
| | | for _ in xrange(itemCount):
|
| | | curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
|
| | | curItem = ItemControler.GetOutPutItemObj(itemID, 1, isAuctionItem, curPlayer=curPlayer)
|
| | | if curItem:
|
| | | needSpace += 1
|
| | | prizeItemList.append(curItem)
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt)
|
| | | jsonItemList = []
|
| | | giveCnt = 0
|
| | | if updDecomposeCnt >= perDecomposeCnt:
|
| | | awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2)
|
| | | if not awardList:
|
| | | return len(drDelItemList), giveCnt
|
| | | if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
|
| | | awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
|
| | | giveCnt = updDecomposeCnt/perDecomposeCnt
|
| | | giveItemIDDict = {}
|
| | | for _ in xrange(giveCnt):
|
| | | itmeID = random.choice(awardList)
|
| | | itmeID = GameWorld.GetResultByRandomList(awardRateList)
|
| | | if not itmeID:
|
| | | continue
|
| | | giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
|
| | | for giveItemID, itemCnt in giveItemIDDict.items(): |
| | | jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
|
| | | needSpace = len(giveItemIDDict)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if packSpace < needSpace:
|
| | | prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
|
| | | PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
|
| | | else:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items():
|
| | | ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
|
| | | if giveItemIDDict:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items(): |
| | | jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
|
| | | needSpace = len(giveItemIDDict)
|
| | | packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
|
| | | if packSpace < needSpace:
|
| | | prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
|
| | | PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
|
| | | else:
|
| | | for giveItemID, itemCnt in giveItemIDDict.items():
|
| | | ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
|
| | |
|
| | | #同步客户端
|
| | | Sync_EDLVInfo(curPlayer, jsonItemList)
|