121 【武将】武将系统-服务端(修复武将修改皮肤战斗时不生效bug;Hero命令增加切换皮肤;)
3个文件已修改
21 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
@@ -42,6 +42,7 @@
        GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0 [重置阵容推荐]")
        GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
        GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
        GameWorld.DebugAnswer(curPlayer, "切换皮肤: Hero ss 背包位置 皮肤索引")
        GameWorld.DebugAnswer(curPlayer, "重置宿缘: Hero sy 0")
        GameWorld.DebugAnswer(curPlayer, "设置宿缘: Hero sy 宿缘ID 等级 [是否激活]")
        GameWorld.DebugAnswer(curPlayer, "新增武将: MakeItemCount 英雄ID [个数]")
@@ -232,6 +233,14 @@
        PlayerHero.SetHeroAwakeLV(heroItem, awakeLV)
        GameWorld.DebugAnswer(curPlayer, "设置武将觉醒: %s,itemIndex=%s" % (awakeLV, itemIndex))
        
    # 切换皮肤
    elif value == "ss":
        skinIndex = msgList[2] if len(msgList) > 2 else 0
        PlayerHero.ActiveHeroSkin(curPlayer, heroID, skinIndex, 1)
        if not PlayerHero.DoHeroWearSkin(curPlayer, itemIndex, skinIndex):
            GameWorld.DebugAnswer(curPlayer, "切换皮肤失败查看地图日志")
        return
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # GM修改
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py
@@ -1019,6 +1019,10 @@
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    itemIndex = clientData.ItemIndex
    skinIndex = clientData.SkinIndex
    DoHeroWearSkin(curPlayer, itemIndex, skinIndex)
    return
def DoHeroWearSkin(curPlayer, itemIndex, skinIndex):
    heroItem = GetHeroItem(curPlayer, itemIndex)
    if not heroItem:
        return
@@ -1038,7 +1042,7 @@
    heroItem.SetUserAttr(ShareDefine.Def_IudetHeroSkin, skinIndex)
    
    PlayerOnline.GetOnlinePlayer(curPlayer).OnHeroItemUpate(heroItem) # 切换皮肤
    return
    return True
def ActiveHeroSkin(curPlayer, heroID, skinIndex, isActive=True):
    skinState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HeroSkin % heroID)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -365,8 +365,6 @@
            
            effCardAddPerAft = heroPreset.GetEffCardAddPer()
            
            if effCardAddPerBef == effCardAddPerAft:
                continue
            heroPresetID = heroPreset.heroPresetID
            GameWorld.DebugLog("武将物品变化影响: itemIndex=%s,heroPresetID=%s,effCardAddPerBef=%s,effCardAddPerAft=%s" 
                               % (itemIndex, heroPresetID, effCardAddPerBef, effCardAddPerAft), self.playerID)
@@ -782,9 +780,9 @@
        skinID = 0
        skinIDList = heroIpyData.GetSkinIDList()
        if skinIndex < 0 or skinIndex >= len(skinIDList):
            skinID = skinIDList[skinIndex]
        elif skinIDList:
            skinID = skinIDList[0]
        elif skinIDList:
            skinID = skinIDList[skinIndex]
            
        lineupHero = presetLineup.GetLineupHero(posNum)
        #if False: