121 【武将】武将系统-服务端(吞噬升星材料卡仅限制已觉醒的卡,已升级或突破的卡会返还材料;)
1个文件已修改
21 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -374,10 +374,9 @@
    if awakeRandCnt:
        GameWorld.ErrLog("武将觉醒解锁天赋未选择,无法升星! itemIndex=%s,heroID=%s" % (itemIndex, heroID), playerID)
        return
    useBreakLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
    useAwakeLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroAwakeLV)
    if useBreakLV or useAwakeLV:
        GameWorld.DebugLog("材料卡突破或觉醒等级不为0暂时无法升星!useBreakLV=%s,useAwakeLV=%s" % (useBreakLV, useAwakeLV), playerID)
    if useAwakeLV:
        GameWorld.DebugLog("材料卡觉醒等级不为0暂时无法升星!useAwakeLV=%s" % (useAwakeLV), playerID)
        return
    
    heroIpyData = IpyGameDataPY.GetIpyGameData("Hero", heroID)
@@ -394,10 +393,22 @@
    useStar = useItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
    addStar = useStar + 1
    updStar = star + addStar
    GameWorld.DebugLog("武将升星: itemIndex=%s,heroID=%s,star=%s,useStar=%s,addStar=%s,updStar=%s"
                       % (itemIndex, heroID, star, useStar, addStar, updStar), playerID)
    useHeroLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroLV)
    useBreakLV = useItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
    GameWorld.DebugLog("武将升星: itemIndex=%s,heroID=%s,star=%s,useStar=%s,addStar=%s,updStar=%s,useHeroLV=%s,useBreakLV=%s"
                       % (itemIndex, heroID, star, useStar, addStar, updStar, useHeroLV, useBreakLV), playerID)
    ItemCommon.DelItem(curPlayer, useItem, useItem.GetCount(), False, "HeroStarUP")
    DoHeroUpdStar(curPlayer, heroItem, updStar)
    returnItemDict = {}
    if useHeroLV > 1:
        __calcHeroLVReturnitem(quality, useHeroLV, returnItemDict)
    if useBreakLV:
        __calcHeroBreakReturnitem(quality, useBreakLV, returnItemDict)
    if returnItemDict:
        returnItemList = [[k, v] for k, v in returnItemDict.items()]
        ItemControler.GivePlayerItemOrMail(curPlayer, returnItemList, event=["HeroStarUP", False, {}])
    return
def GetHeroStarMax(heroItem):