xdh
2019-03-26 805e15f8f67755c202f7748d08322fb4a7d1c335
6351  【后端】【2.1】新版骑宠争夺(奖励配置修改)
4个文件已修改
56 ■■■■ 已修改文件
PySysDB/PySysDBPY.h 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -1787,7 +1787,8 @@
{
    list        WorldLV;    //世界等级
    list        Rank;    //排名
    list        Award;    //奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    list        Award1;    //奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    dict        Award2;    //饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
};
//装备洗练等级上限
@@ -1806,5 +1807,6 @@
    BYTE        _LineID;    // 线路ID
    list        WorldLV;    //世界等级
    list        Rank;    //排名
    list        Award;    //奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    list        Award1;    //奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    dict        Award2;    //饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
};
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_AllFamilyBoss.py
@@ -451,6 +451,7 @@
def __GetFamilyBossAward(rank, worldLV):
    familyAuctionItemList, menberItemList = [], []
    awardRateList = []
    awardPieRateDict = {}
    ipyMgr = IpyGameDataPY.IPY_Data()
    for i in xrange(ipyMgr.GetFamilyBossAwardCount()):
        ipyData = ipyMgr.GetFamilyBossAwardByIndex(i)
@@ -460,8 +461,9 @@
        rankList = ipyData.GetRank()
        if rank < rankList[0] or rank > rankList[1]:
            continue
        awardRateList = ipyData.GetAward()
    if not awardRateList:
        awardRateList = ipyData.GetAward1()
        awardPieRateDict = ipyData.GetAward2()
    if not awardRateList and not awardPieRateDict:
        GameWorld.ErrLog('仙盟Boss奖励表 未配置该奖励 rank=%s,worldLV=%s' % (rank, worldLV))
        return familyAuctionItemList, menberItemList
    for rate, itemInfo in awardRateList:
@@ -474,6 +476,16 @@
            familyAuctionItemList.append(itemInfo)
        else:
            menberItemList.append(itemInfo)
    for doCnt, awardPieRateList in awardPieRateDict.items():
        for _ in xrange(doCnt):
            resultItem = GameWorld.GetResultByRandomList(awardPieRateList)
            if len(resultItem) != 3:
                GameWorld.ErrLog('仙盟Boss奖励表配置错误 itemInfo=%s' % resultItem)
                continue
            if resultItem[2]:
                familyAuctionItemList.append(resultItem)
            else:
                menberItemList.append(resultItem)
    
    return familyAuctionItemList, menberItemList
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_HorsePetBoss.py
@@ -410,6 +410,7 @@
    if not ipyDataList:
        return auctionItemList, itemList
    awardRateList = []
    awardPieRateDict = {}
    for ipyData in ipyDataList:
        worldLVList = ipyData.GetWorldLV()
        if worldLV < worldLVList[0] or worldLV > worldLVList[1]:
@@ -417,8 +418,9 @@
        rankList = ipyData.GetRank()
        if rank < rankList[0] or rank > rankList[1]:
            continue
        awardRateList = ipyData.GetAward()
    if not awardRateList:
        awardRateList = ipyData.GetAward1()
        awardPieRateDict = ipyData.GetAward2()
    if not awardRateList and not awardPieRateDict:
        GameWorld.ErrLog('骑宠Boss奖励表 未配置该奖励 lineID=%s, rank=%s,worldLV=%s' % (lineID, rank, worldLV))
        return auctionItemList, itemList
    for rate, itemInfo in awardRateList:
@@ -432,6 +434,16 @@
        else:
            itemList.append(itemInfo)
    
    for doCnt, awardPieRateList in awardPieRateDict.items():
        for _ in xrange(doCnt):
            resultItem = GameWorld.GetResultByRandomList(awardPieRateList)
            if len(resultItem) != 3:
                GameWorld.ErrLog('骑宠Boss奖励表配置错误 itemInfo=%s' % resultItem)
                continue
            if resultItem[2]:
                auctionItemList.append(resultItem)
            else:
                itemList.append(resultItem)
    return auctionItemList, itemList
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1388,7 +1388,8 @@
                "FamilyBossAward":(
                        ("list", "WorldLV", 0),
                        ("list", "Rank", 0),
                        ("list", "Award", 0),
                        ("list", "Award1", 0),
                        ("dict", "Award2", 0),
                        ),
                "ItemWashMax":(
@@ -1401,7 +1402,8 @@
                        ("BYTE", "LineID", 1),
                        ("list", "WorldLV", 0),
                        ("list", "Rank", 0),
                        ("list", "Award", 0),
                        ("list", "Award1", 0),
                        ("dict", "Award2", 0),
                        ),
                }
@@ -4255,12 +4257,14 @@
    def __init__(self):
        self.WorldLV = []
        self.Rank = []
        self.Award = []
        self.Award1 = []
        self.Award2 = {}
        return
        
    def GetWorldLV(self): return self.WorldLV # 世界等级
    def GetRank(self): return self.Rank # 排名
    def GetAward(self): return self.Award # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
# 装备洗练等级上限
class IPY_ItemWashMax():
@@ -4282,13 +4286,15 @@
        self.LineID = 0
        self.WorldLV = []
        self.Rank = []
        self.Award = []
        self.Award1 = []
        self.Award2 = {}
        return
        
    def GetLineID(self): return self.LineID #  线路ID
    def GetWorldLV(self): return self.WorldLV # 世界等级
    def GetRank(self): return self.Rank # 排名
    def GetAward(self): return self.Award # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
    def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
def Log(msg, playerID=0, par=0):