9790 9762 【BT9】【后端】藏宝阁修改(增加古宝分类;等级属性改为由分类及品质决定)
| | |
| | | struct tagGubao
|
| | | {
|
| | | WORD _GubaoID; //古宝ID
|
| | | BYTE GubaoType; //古宝分类
|
| | | BYTE GubaoQuality; //古宝品质
|
| | | DWORD UnlockItemID; //解锁所需物品ID
|
| | | BYTE UnlockItemCnt; //解锁所需物品数量
|
| | |
| | |
|
| | | struct tagGubaoLV
|
| | | {
|
| | | BYTE _GubaoType; //古宝分类
|
| | | BYTE _GubaoQuality; //古宝品质
|
| | | BYTE _GubaoLV; //古宝等级
|
| | | list LVUPNeedItemInfo; //升级所需物品 [[物品ID,个数], ...]
|
| | |
| | | if not starIpyData: |
| | | GameWorld.DebugAnswer(curPlayer, "不存在该古宝星级!gubaoID=%s,star=%s" % (gubaoID, star)) |
| | | return |
| | | gubaoType = ipyData.GetGubaoType() |
| | | quality = ipyData.GetGubaoQuality() |
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", quality, lv) |
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", gubaoType, quality, lv) |
| | | if not lvIpyData: |
| | | GameWorld.DebugAnswer(curPlayer, "不存在该古宝品质等级!gubaoID=%s,quality=%s,lv=%s" % (gubaoID, quality, lv)) |
| | | GameWorld.DebugAnswer(curPlayer, "不存在该古宝品质等级!gubaoID=%s,gubaoType=%s,quality=%s,lv=%s" % (gubaoID, gubaoType, quality, lv)) |
| | | return |
| | | GameWorld.DebugAnswer(curPlayer, "设置古宝:%s,等级(%s),星(%s)" % (gubaoID, lv, star)) |
| | | PlayerGubao.SetGubaoLVInfo(curPlayer, gubaoID, lv, star) |
| | |
| | |
|
| | | "Gubao":(
|
| | | ("WORD", "GubaoID", 1),
|
| | | ("BYTE", "GubaoType", 0),
|
| | | ("BYTE", "GubaoQuality", 0),
|
| | | ("DWORD", "UnlockItemID", 0),
|
| | | ("BYTE", "UnlockItemCnt", 0),
|
| | |
| | | ),
|
| | |
|
| | | "GubaoLV":(
|
| | | ("BYTE", "GubaoType", 1),
|
| | | ("BYTE", "GubaoQuality", 1),
|
| | | ("BYTE", "GubaoLV", 1),
|
| | | ("list", "LVUPNeedItemInfo", 0),
|
| | |
| | | |
| | | def __init__(self): |
| | | self.GubaoID = 0
|
| | | self.GubaoType = 0
|
| | | self.GubaoQuality = 0
|
| | | self.UnlockItemID = 0
|
| | | self.UnlockItemCnt = 0 |
| | | return |
| | | |
| | | def GetGubaoID(self): return self.GubaoID # 古宝ID
|
| | | def GetGubaoType(self): return self.GubaoType # 古宝分类
|
| | | def GetGubaoQuality(self): return self.GubaoQuality # 古宝品质
|
| | | def GetUnlockItemID(self): return self.UnlockItemID # 解锁所需物品ID
|
| | | def GetUnlockItemCnt(self): return self.UnlockItemCnt # 解锁所需物品数量 |
| | |
| | | class IPY_GubaoLV(): |
| | | |
| | | def __init__(self): |
| | | self.GubaoType = 0
|
| | | self.GubaoQuality = 0
|
| | | self.GubaoLV = 0
|
| | | self.LVUPNeedItemInfo = []
|
| | |
| | | self.LVAttrValueList = [] |
| | | return |
| | | |
| | | def GetGubaoType(self): return self.GubaoType # 古宝分类
|
| | | def GetGubaoQuality(self): return self.GubaoQuality # 古宝品质
|
| | | def GetGubaoLV(self): return self.GubaoLV # 古宝等级
|
| | | def GetLVUPNeedItemInfo(self): return self.LVUPNeedItemInfo # 升级所需物品 [[物品ID,个数], ...]
|
| | |
| | | ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID)
|
| | | if not ipyData:
|
| | | return
|
| | | gubaoType = ipyData.GetGubaoType()
|
| | | quality = ipyData.GetGubaoQuality()
|
| | |
|
| | | if not IpyGameDataPY.GetIpyGameDataNotLog("GubaoLV", quality, lv + 1):
|
| | | if not IpyGameDataPY.GetIpyGameDataNotLog("GubaoLV", gubaoType, quality, lv + 1):
|
| | | GameWorld.DebugLog("古宝已满级! gubaoID=%s,quality=%s,lv=%s" % (gubaoID, quality, lv), playerID)
|
| | | return
|
| | |
|
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", quality, lv)
|
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", gubaoType, quality, lv)
|
| | | if not lvIpyData:
|
| | | return
|
| | | needItemList = lvIpyData.GetLVUPNeedItemInfo()
|
| | |
| | |
|
| | | updLV = lv + 1
|
| | | SetGubaoLVInfo(curPlayer, gubaoID, updLV, star)
|
| | | GameWorld.Log("古宝升级: gubaoID=%s,quality=%s,updLV=%s" % (gubaoID, quality, updLV), playerID)
|
| | | GameWorld.Log("古宝升级: gubaoID=%s,gubaoType=%s,quality=%s,updLV=%s" % (gubaoID, gubaoType, quality, updLV), playerID)
|
| | | RefreshGubaoAttr(curPlayer)
|
| | | Sync_GubaoInfo(curPlayer, [gubaoID])
|
| | | return
|
| | |
| | | if not star:
|
| | | continue
|
| | |
|
| | | gubaoType = ipyData.GetGubaoType()
|
| | | quality = ipyData.GetGubaoQuality()
|
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", quality, lv)
|
| | | lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", gubaoType, quality, lv)
|
| | | if lvIpyData:
|
| | | lvAttrTypeList = lvIpyData.GetLVAttrTypeList()
|
| | | lvAttrValueList = lvIpyData.GetLVAttrValueList()
|