hxp
2025-08-04 2e892e272f7aea0a7ffbae81e43731c6b20119e6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -419,7 +419,7 @@
    starMax = InitStarUpper + addStarUpper
    return starMax
def DoHeroUpdStar(curPlayer, heroItem, updStar):
def DoHeroUpdStar(curPlayer, heroItem, updStar, isSync=True):
    ## 执行武将星级更新
    curStar = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
    addStar = updStar - curStar
@@ -427,7 +427,8 @@
    item.SetUserAttr(ShareDefine.Def_IudetHeroStar, updStar)
    if addStar > 0:
        __DoHeroStarTalentUp(item, addStar)
    heroItem.Sync_Item()
    if isSync:
        heroItem.Sync_Item()
    
    itemIndex = heroItem.GetItemPlaceIndex()
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
@@ -575,9 +576,12 @@
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
    return
def SetHeroBreakLV(heroItem, breakLV):
def SetHeroBreakLV(heroItem, breakLV, isSync=True):
    ## 设置武将突破等级
    heroItem.SetUserAttr(ShareDefine.Def_IudetHeroBreakLV, breakLV)
    item = heroItem.GetItem()
    item.SetUserAttr(ShareDefine.Def_IudetHeroBreakLV, breakLV)
    if isSync:
        heroItem.Sync_Item()
    return
#// B2 33 武将觉醒 #tagCSHeroAwake
@@ -633,12 +637,13 @@
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
    return
def SetHeroAwakeLV(heroItem, awakeLV):
def SetHeroAwakeLV(heroItem, awakeLV, isSync=True):
    ## 设置武将觉醒等级
    item = heroItem.GetItem()
    item.SetUserAttr(ShareDefine.Def_IudetHeroAwakeLV, awakeLV)
    unlockTalentSlotByAwake(item)
    heroItem.Sync_Item()
    if isSync:
        heroItem.Sync_Item()
    return
def unlockTalentSlotByAwake(singleItem):
@@ -712,9 +717,13 @@
#};
def OnHeroAwakeSelectTalent(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    playerID = curPlayer.GetPlayerID()
    itemIndex = clientData.ItemIndex
    selectIndex = clientData.SelectIndex
    doSelectAwakeTalent(curPlayer, itemIndex, selectIndex)
    return
def doSelectAwakeTalent(curPlayer, itemIndex, selectIndex, isSync=True):
    playerID = curPlayer.GetPlayerID()
    heroItem = GetHeroItem(curPlayer, itemIndex)
    if not heroItem:
        return
@@ -757,10 +766,11 @@
    for index, talentID in enumerate(idList):
        singleItem.AddUserAttr(ShareDefine.Def_IudetHeroTalentID, talentID)
        singleItem.AddUserAttr(ShareDefine.Def_IudetHeroTalentIDLV, lvList[index])
    unlockTalentSlotByAwake(singleItem)
    
    heroItem.Sync_Item()
    if isSync:
        heroItem.Sync_Item()
    
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate([itemIndex])
    return