xdh
2019-01-09 cf6dd722bfc07a6ae19dd0378ecfda667d35ca67
5730 【后端】【1.5】时装功能开发
1个文件已修改
12 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoat.py
@@ -60,12 +60,12 @@
    needCntList = ipyData.GetCostItemCnt()
    if curSkinLV >= len(needCntList):
        return
    plusCost = needCntList[curSkinLV + 1]
    plusCost = needCntList[curSkinLV]
    costItemID = ipyData.GetUnlockItemID()
    curPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
    hasEnough, itemIndexList = ItemCommon.GetItem_FromPack_ByID(costItemID, curPack, plusCost)
    if not hasEnough:
        GameWorld.DebugLog("OnPlayerCoatUp() 时装升级材料不足, needCnt=%s" % (plusCost))
        GameWorld.DebugLog("OnPlayerCoatUp() 时装升级材料不足, coatIndex=%s, costItemID=%s, needCnt=%s" % (coatIndex, costItemID, plusCost))
        return
    reduceCnt = plusCost
@@ -101,6 +101,7 @@
    playerID = curPlayer.GetPlayerID()
    indexList = clientData.IndexList
    ItemIDList = clientData.ItemIDList
    itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
    addExp = 0
    for i, index in enumerate(indexList):
@@ -109,6 +110,7 @@
            continue
        eatItemID = eatItem.GetItemTypeID()
        if eatItemID != ItemIDList[i]:
            GameWorld.Log('时装分解 发的物品ID不对应index=%s eatItemID=%s,ItemIDList[i]=%s'%(index, eatItemID, ItemIDList[i]))
            continue
        itemData = GameWorld.GetGameData().GetItemByTypeID(eatItemID)
        if not itemData:
@@ -119,12 +121,13 @@
        if not ipyData:
            continue
        curSkinLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ClothesSkinLV % coatID)
        if curSkinLV >= ipyData.GetMaxLV():
        if curSkinLV < ipyData.GetMaxLV():
            continue
        itemCnt = eatItem.GetCount()
        addExp += itemCnt * curEff.GetEffectValue(1)
        ItemCommon.DelItem(curPlayer, eatItem, itemCnt, True, ChConfig.ItemDel_CoatDecompose)
    if not addExp:
        GameWorld.Log(' 时装分解, 没有可分解的ItemIDList=%s'%ItemIDList)
        return
    totalExp = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ClothesChestEXP) + addExp
    curChestLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ClothesChestLV)
@@ -204,7 +207,7 @@
        ipyData = IpyGameDataPY.GetIpyGameData('Coat', srcIndex)
        if not ipyData:
            return True
        EquipItemIDList = ipyData.GetEquipItemID
        EquipItemIDList = ipyData.GetEquipItemID()
        job = curPlayer.GetJob()
        if job > len(EquipItemIDList):
            GameWorld.Log("找不到该职业时装配置,不能穿!srcIndex=%s,job=%s" % (srcIndex, job), playerID)
@@ -224,7 +227,6 @@
        destIndex = 0
    
    isOK = ItemCommon.DoLogicSwitchItemEx(curPlayer, srcBackpack, desBackPack, srcIndex, destIndex)
    ItemControler.ClearPack(curPlayer, ShareDefine.rptTempSwap)
    # 下发周围玩家时装穿戴状态
    if isOK:
        if desBackPack == IPY_GameWorld.rptEquip: