ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
@@ -39,7 +39,8 @@
        GameWorld.DebugAnswer(curPlayer, "武将突破: Hero b 背包位置 设置等级")
        GameWorld.DebugAnswer(curPlayer, "武将觉醒: Hero a 背包位置 设置等级")
        GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级")
        GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0")
        GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0 [重置阵容推荐]")
        GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
        GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
        GameWorld.DebugAnswer(curPlayer, "清空武将: ClearPack 35")
        GameWorld.DebugAnswer(curPlayer, "新增武将: MakeItemCount 英雄ID [个数]")
@@ -70,11 +71,14 @@
            ipyDataMgr = IpyGameDataPY.IPY_Data()
            for index in range(ipyDataMgr.GetHeroCount()):
                ipyData = ipyDataMgr.GetHeroByIndex(index)
                if not ipyData.GetPlayerCanUse():
                    continue
                heroIDList.append(ipyData.GetHeroID())
        else:
            heroIDList = [value2]
            
        if value2 == 0:
            recommendReset = msgList[2] if len(msgList) > 2 else 0
            syncHeroIDList = []
            for heroID in heroIDList:
                if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroBook % heroID):
@@ -82,6 +86,18 @@
                syncHeroIDList.append(heroID)
                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroBook % heroID, 0)
            GameWorld.DebugAnswer(curPlayer, "重置图鉴OK!")
            if recommendReset:
                syncIDList = []
                ipyDataMgr = IpyGameDataPY.IPY_Data()
                for index in range(ipyDataMgr.GetLineupRecommendCount()):
                    ipyData = ipyDataMgr.GetLineupRecommendByIndex(index)
                    recommendID = ipyData.GetRecommendID()
                    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroRecommend % recommendID):
                        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroRecommend % recommendID, 0)
                        syncIDList.append(recommendID)
                PlayerHero.Sync_LineupRecommendInfo(curPlayer, syncIDList)
                GameWorld.DebugAnswer(curPlayer, "重置推荐OK!")
        else:
            heroID = value2
            syncHeroIDList = [heroID]
@@ -94,6 +110,12 @@
            GameWorld.DebugAnswer(curPlayer, "设置武将(%s)图鉴星级(%s),突破(%s)" % (heroID, bookStarLV, bookBreakLV))
            
        PlayerHero.Sync_HeroInfo(curPlayer, syncHeroIDList)
        return
    # 重生
    if value == "r":
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroAwakeRebirthCnt, 0)
        PlayerHero.Sync_PlayerHeroInfo(curPlayer)
        return
    
    # 皮肤
@@ -109,6 +131,12 @@
    if not heroItem:
        GameWorld.DebugAnswer(curPlayer, "不存在武将: itemIndex=%s" % itemIndex)
        return
    heroID = heroItem.GetItemTypeID()
    heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID)
    if not heroIpyData:
        return
    quality = heroIpyData.GetQuality()
    
    if value == 0:
        PlayerHero.InitHeroItem(heroItem.GetItem())
@@ -141,13 +169,19 @@
    # 突破
    if value == "b":
        breakLV = msgList[2] if len(msgList) > 2 else 0
        PlayerHero.SetHeroBreakLV(heroItem, breakLV)
        if not IpyGameDataPY.GetIpyGameData("HeroQualityBreak", quality, breakLV):
            GameWorld.DebugAnswer(curPlayer, "突破等级不存在:%s 品质:%s" % (breakLV, quality))
            return
        PlayerHero.SetHeroBreakLV(curPlayer, heroItem, breakLV)
        GameWorld.DebugAnswer(curPlayer, "设置武将突破: %s,itemIndex=%s" % (breakLV, itemIndex))
        return
    
    # 觉醒
    if value == "a":
        awakeLV = msgList[2] if len(msgList) > 2 else 0
        if not IpyGameDataPY.GetIpyGameData("HeroQualityAwake", quality, awakeLV):
            GameWorld.DebugAnswer(curPlayer, "觉醒等级不存在:%s 品质:%s" % (awakeLV, quality))
            return
        PlayerHero.SetHeroAwakeLV(heroItem, awakeLV)
        GameWorld.DebugAnswer(curPlayer, "设置武将觉醒: %s,itemIndex=%s" % (awakeLV, itemIndex))
        return
@@ -229,7 +263,7 @@
    for syncItem in syncItemDict.values():
        syncItem.Sync_Item()
        
    lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID)
    lineup = PlayerOnline.GetOnlinePlayer(curPlayer).GetLineup(lineupID, False)
    lineup.UpdLineup(heroItemDict, shapeType)
    GameWorld.DebugAnswer(curPlayer, "阵容(%s)上阵OK: %s" % (lineupID, heroItemDict))
    return
@@ -307,7 +341,7 @@
                if not IpyGameDataPY.GetIpyGameDataNotLog("HeroQualityBreak", quality, bLV):
                    break
                breakLV = bLV
        PlayerHero.SetHeroBreakLV(heroItem, breakLV, False)
        PlayerHero.SetHeroBreakLV(curPlayer, heroItem, breakLV, False)
        
        # 星级
        starMax = PlayerHero.GetHeroStarMax(heroItem)