121 【武将】武将系统-服务端(武将品质突破表删除武将最大等级限制;)
| | |
| | | {
|
| | | DWORD _Quality; //品质
|
| | | DWORD _BreakLV; //突破等级
|
| | | WORD LVMax; // 等级上限
|
| | | WORD UPLVNeed; // 突破到下级需要等级
|
| | | list UPCostItemList; // 突破到下级消耗道具
|
| | | };
|
| | |
| | | "HeroQualityBreak":(
|
| | | ("DWORD", "Quality", 1),
|
| | | ("DWORD", "BreakLV", 1),
|
| | | ("WORD", "LVMax", 0),
|
| | | ("WORD", "UPLVNeed", 0),
|
| | | ("list", "UPCostItemList", 0),
|
| | | ),
|
| | |
| | | |
| | | def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
|
| | | def GetBreakLV(self): return self.attrTuple[1] # 突破等级 DWORD
|
| | | def GetLVMax(self): return self.attrTuple[2] # 等级上限 WORD
|
| | | def GetUPLVNeed(self): return self.attrTuple[3] # 突破到下级需要等级 WORD
|
| | | def GetUPCostItemList(self): return self.attrTuple[4] # 突破到下级消耗道具 list |
| | | def GetUPLVNeed(self): return self.attrTuple[2] # 突破到下级需要等级 WORD
|
| | | def GetUPCostItemList(self): return self.attrTuple[3] # 突破到下级消耗道具 list |
| | | |
| | | # 武将品质觉醒表 |
| | | class IPY_HeroQualityAwake(): |
| | |
| | | quality = heroIpyData.GetQuality()
|
| | | breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
|
| | | heroLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroLV)
|
| | | LVMax = GetHeroLVMax(heroItem)
|
| | | GameWorld.DebugLog("请求武将升级: itemIndex=%s,heroID=%s,heroLV=%s,quality=%s,breakLV=%s,LVMax=%s" |
| | | % (itemIndex, heroID, heroLV, quality, breakLV, LVMax), playerID)
|
| | | if heroLV >= LVMax:
|
| | | GameWorld.DebugLog("该武将已满级!LVMax=%s" % (LVMax), playerID)
|
| | | return
|
| | | GameWorld.DebugLog("请求武将升级: itemIndex=%s,heroID=%s,heroLV=%s,quality=%s,breakLV=%s" |
| | | % (itemIndex, heroID, heroLV, quality, breakLV), playerID)
|
| | | qualityLVIpyData = IpyGameDataPY.GetIpyGameData("HeroQualityLV", quality, heroLV)
|
| | | if not qualityLVIpyData:
|
| | | return
|
| | |
| | | if not heroIpyData:
|
| | | return 0
|
| | | quality = heroIpyData.GetQuality()
|
| | | breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
|
| | | qualityBreakIpyData = IpyGameDataPY.GetIpyGameData("HeroQualityBreak", quality, breakLV)
|
| | | if not qualityBreakIpyData:
|
| | | lvIpyDataList = IpyGameDataPY.GetIpyGameDataByCondition("HeroQualityLV", {"Quality":quality}, True)
|
| | | if not lvIpyDataList:
|
| | | return 0
|
| | | LVMax = qualityBreakIpyData.GetLVMax()
|
| | | return LVMax
|
| | | return len(lvIpyDataList)
|
| | |
|
| | | #// B2 31 武将升星 #tagCSHeroStarUP
|
| | | #
|